Hi,
this is not so easy to see, esp with all the libports mayhem.
proc_getexecdata just memcpy()s the port array, and then returns. Will this
do the right thing? proc is essentially single threaded, by taking a lock
in message_demuxer. But as it seems to me, the message has not yet actually
been sent when the demuxer releases the lock.
So, suppose a context switch occurs after the lock is released, and then
another message appears and is processed, let this be proc_setexecdata.
This succeeds, deallocating all previous ports in the standard array.
The numbers we just copied might now become invalidate. Am I wrong?
Marcus - proofreading proc
--
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de
_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd