[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pthreads-devel
Subject:    Re: [pthreads-devel] Kernel process exit problem
From:       Arend-jan Wytzes <ajwytzes () wise-guys ! nl>
Date:       2002-06-07 14:08:56
[Download RAW message or body]

> > Hi again, 
> > 
> > The current kernel patch introduces a problem with process-exit handeling
> > for threaded processes that exit due to a signal.
> 
> Do you mean that patch fragment? This is out of ngpt-2.4.19-pre1.diff

Nope, that's not it. It's the patch that fixes the re-parenting of a process
that's about to exit. The bug was in the section of forget_original_parent()
that could erronously select a thread from the threadgroup as a suitable reaper,
while that thread had in fact allready done do_exit() itself:

-       /* Next in our thread group */
-       reaper = next_thread(father);
+       /* Next in our thread group, if they're not already exiting */
+       reaper = father;
+       do {
+               reaper = next_thread(reaper);
+               if (!(reaper->flags & PF_EXITING))
+                       break;
+       } while (reaper != father);
+


Regards,
aj
_______________________________________________
pthreads-devel mailing list
pthreads-devel@www-124.ibm.com
http://www-124.ibm.com/developerworks/oss/mailman/listinfo/pthreads-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic