130 |
{ |
{ |
131 |
newpi = netfs_make_protid (netfs_make_peropen (np, O_READ, cred->po), |
newpi = netfs_make_protid (netfs_make_peropen (np, O_READ, cred->po), |
132 |
user); |
user); |
133 |
right = ports_get_send_right (newpi); |
if (newpi) |
134 |
err = exec_exec (_netfs_exec, |
{ |
135 |
right, MACH_MSG_TYPE_COPY_SEND, |
right = ports_get_send_right (newpi); |
136 |
task, flags, argv, argvlen, envp, envplen, |
err = exec_exec (_netfs_exec, |
137 |
fds, MACH_MSG_TYPE_COPY_SEND, fdslen, |
right, MACH_MSG_TYPE_COPY_SEND, |
138 |
portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen, |
task, flags, argv, argvlen, envp, envplen, |
139 |
intarray, intarraylen, deallocnames, deallocnameslen, |
fds, MACH_MSG_TYPE_COPY_SEND, fdslen, |
140 |
destroynames, destroynameslen); |
portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen, |
141 |
mach_port_deallocate (mach_task_self (), right); |
intarray, intarraylen, |
142 |
ports_port_deref (newpi); |
deallocnames, deallocnameslen, |
143 |
|
destroynames, destroynameslen); |
144 |
|
mach_port_deallocate (mach_task_self (), right); |
145 |
|
ports_port_deref (newpi); |
146 |
|
} |
147 |
|
else |
148 |
|
{ |
149 |
|
err = errno; |
150 |
|
iohelp_free_iouser (user); |
151 |
|
} |
152 |
} |
} |
153 |
} |
} |
154 |
|
|