Hmmm. This should work. Although my understanding was that somehow using
nanosleep() was supposed to be preferable to pthread_make_periodic_np. Oh
well. :)
-Calin
On Tue, 29 Jan 2002, Kristoffer Persson wrote:
> Hi,
>
> Has anyone observed and solved the following?
>
> After some time (a few minutes to a few hours) of operation, the RT task I
> am running stops without any message. If I rmmod and insmod it again, it
> will run for about a seconds before it stops again. If I re-insert
> rtl_sched and rtl_time and my module, it will run again for some time
> (~min-hours) before stopping.
>
> My task is really simple, it only flips a bit on the parallel port. I have
> tried task periods between 50us and 1ms and it appears to run longer the
> longer the period.
>
> void *rtfunc( void *param )
> {
> unsigned char value = 0;
> unsigned char mask = 0x01;
>
> pthread_make_periodic_np( thread, gethrtime() + PERIOD, PERIOD);
>
> while ( 1 ) {
> pthread_wait_np();
> rtl_outb( value, PORT );
> value ^= mask; // Toggle bit
> }
>
> return 0;
>
> } /* rtfunc */
>
> RTLinux 3.1, Linux 2.4.4, CPU AMD 5x86, gcc 2.96 (from RedHat 7.2).
>
> I found an earlier post about a similar problem with an older version of
> RTLinux and the reply was that it had been fixed in the 3.0 release.
>
> Hope someone can help, this is getting a bit annoying.
>
> Kris
>
>
> -- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> --
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/
>
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
--
For more information on Real-Time Linux see:
http://www.rtlinux.org/