[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: [rtl] weird problem in Beta11



On Mon, 20 Sep 1999, Edgar F. Hilton wrote:

> So, what I did was to move my rt_task_init() and rt_task_delete() calls to my
> init_module and cleanup_module routines. Now, I exclusively call
> rt_task_make_periodic and rt_task_suspend each time I begin running my code or
> terminating my code, respectively.

I find this fascinating.  I was doing this originally in some code I had
which was set up to send a short string of characters via a serial port
about 5 times per second to start and stop exposures on a CCD camera (one
periodic task to start, one to stop).  The code for this was very similar
to the rectangle code in the serial demos directory. I used an RT-FIFO to
wait for a user to request the camera to start exposing, stop exposing, or
change the exposure time.  When the module got a new time, it would do an
rt_task_suspend() on the two tasks and then do an rt_task_make_periodic()  
on them again, but with different periods.  I saw evidence, though, that
the tasks were running twice each after this, and wound up with the
rt_task_delete() calls when changing the exposure times.  I found this
worked fine.

Is there a way to verify all of this by, for example, asking the RT kernel
to printk() its current list of RT tasks?

--
Stephen Walton, Professor of Physics and Astronomy,
California State University, Northridge
stephen.walton@csun.edu

--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail majordomo@rtlinux.cs.nmt.edu OR
echo "unsubscribe rtl <Your_email>" | mail majordomo@rtlinux.cs.nmt.edu
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/