On Thu, Oct 25, 2001 at 08:56:14PM -0400, Norm Dresner wrote: > While browsing the code in v3.0's rtl_sched.c & > rtl_sched.h, I found that, within the RTL context, a > pthread_t points to a structure of type rtl_thread_struct > which contains an int-item magic and that a "valid" > rtl_thread_struct will have this value equal to the > constant RTL_THREAD_MAGIC. > > How safe is it to assume that this will always be the case > and that I can implement a thread validity check with > #define rtlTHREAD_VALID( th ) > ( (th)->magic ) == RTL_THREAD_MAGIC ) > and be safe if I -- or another programmer who takes over > program maintenance from me in the unspecified future > upgrades to a newer version of rtl?
Not safe at all! If you hide the implementation well, that's ok since there should always be a way to check or at least semi-check validity, but I hope to move pthread_t to something else in the next year or two - it is an opaque type for a reason. > > > Thanks > Norm > > > ----- Original Message ----- > From: Norm Dresner <[EMAIL PROTECTED]> > To: rtlinux <[EMAIL PROTECTED]> > Sent: Thursday, October 25, 2001 8:42 PM > Subject: checking a pthread-ID > > > > According to the map-page, pthread_wakeup_np always > returns > > a zero value and consequently can't be used to determine > if > > the target thread in fact no longer exists. I have two > > questions: > > 1. What -- if anything -- will happen if the thread > has > > been destroyed, i.e. either it has executed > pthread_exit() > > or some other process/thread has already killed it with > > pthread_delete_np()? > > 2. Is there any safe function to call to verify that > > the target of a pthread_t still is a valid thread? > > > > TIA > > Norm > > > > > > -- [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/
