Re: sending ports in reply msg

2001-07-13 Thread Marcus Brinkmann
On Thu, Jul 12, 2001 at 08:01:13PM -0400, Roland McGrath wrote: > proc_setexecdata never deallocates the old port rights. Isn't the following code doing the job? if (std_port_array) { for (i = 0; i < n_std_ports; i++) mach_port_deallocate (mach_task_self (), std_port_array[i]

Re: sending ports in reply msg

2001-07-13 Thread Thomas Bushnell, BSG
Roland McGrath <[EMAIL PROTECTED]> writes: > proc_getexecdata and proc_setexecdata both seem to be totally broken. > It seems like they have never actually been called. Surely true. > I think the only correct thing for proc_getexecdata to do is add a user ref > to each port and then set *portsp

Re: sending ports in reply msg

2001-07-12 Thread Roland McGrath
proc_getexecdata and proc_setexecdata both seem to be totally broken. It seems like they have never actually been called. proc_setexecdata never deallocates the old port rights. proc_getexecdata never sets its *portspoly out parameter, so garbage goes into the reply message. I think the only co

sending ports in reply msg

2001-07-12 Thread Marcus Brinkmann
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 b