Hi,

Here is a series of patches that improves process waiting,
the first three being trivial:

1) Make the special_wait functions take an alertable flag.

   This doesn't actually change anything, just add a parameter
   to several functions. The alertable flag is used in the
   last patch (so process waiting will now be alertable).

2) Move duplicated pid validation into one method.

   Just a minor refactor to avoid code duplication.

3) When forking ensure the parent's data structures are
   updated before the child execs.

   This is required for the last patch.

4) Improve waiting on processes a lot

   Here are all the juicy bits: I changed process waiting to use
   a SIGCHLD handler and automatically wait on all processes.
   This fixes #668867. I also added a semaphore, so waits are now
   properly handled by using that semaphore instead of polling
   every 100ms.

Comments welcome of course, otherwise I'll commit it next week.

Rolf

Attachment: 0001-io-layer-Make-the-special_wait-functions-take-an-ale.patch
Description: Binary data

Attachment: 0002-io-layer-Move-duplicated-pid-validation-into-one-met.patch
Description: Binary data

Attachment: 0003-io-layer-When-forking-ensure-the-parent-s-data-struc.patch
Description: Binary data

Attachment: 0004-io-layer-Improve-waiting-on-processes-a-lot.patch
Description: Binary data

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to