On Sat, Mar 03, 2001 at 06:00:17PM +0000, Stuart Hughes wrote:
> Heinz Haeberle wrote:
> >
> > > Is it possible to do an pthread_suspend_np with a delay in
> > > RT-Linux (3.0)? I'd like to suspend a task, but if he isn't
> > > woken up (e.g. lost the interrupt), I want to pop out of the
> > > suspend and poll.
> > >
> > > The easiest way I see is to use pthread_wait_np(), in a
> > > periodic task, and use (if possible) pthread_wakeup_np() to
> > > awaken it from the intr handler. But based on the man pages,
> > > it isn't explicitly stated that I can "pthread_wakeup_np" a
> > > thread that hasn't used pthread_suspend_np() to suspend
> > > itself.
> > that's what I am doing and it looks like it is working.
> >
> > Would really be nice to know if it just works by accident!
> >
>
> Hi Heinz,
>
> The more conventional way to do this with pthreads is with a condition
> variable, and the call pthread_cond_timedwait. In this case, your
> thread wakes up when either the condition is signalled or you reach a
> timeout. I'm not sure if this is in RTL, but I think I recall that it
> is (check the docs).
Stuart,
Agreed, a condition variable is the "portable" way to do this, and
it looks like RT-Linux 3.0 has them. I'm a bit suspicious though:
if they _are_ supported, why should the manual still advocate the
use of the pthread_{suspend/wakeup}_np() calls (instead of marking
them as "compatibility" functions like the old rt_task_suspend(),
etc.?)
Regards,
Eric
--
I'm defending her honor, which is more than she ever did.
Eric Peterson WB6PYK (805)370-3046 mailto:[EMAIL PROTECTED]
http://www.troikanetworks.com
-- [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/rtlinux/