diff options
author | Thomas Bushnell <thomas@gnu.org> | 2000-03-17 17:21:02 +0000 |
---|---|---|
committer | Thomas Bushnell <thomas@gnu.org> | 2000-03-17 17:21:02 +0000 |
commit | ed1d3f38812f06fcc85ff3fc60785b2193fa08a5 (patch) | |
tree | 04b5b9afee694f2aa16f15d5693c6b452acd0a19 /libdiskfs/file-exec.c | |
parent | bde9c6f42327e37103f1fdd5381438536005b701 (diff) | |
download | hurd-ed1d3f38812f06fcc85ff3fc60785b2193fa08a5.tar.gz hurd-ed1d3f38812f06fcc85ff3fc60785b2193fa08a5.tar.bz2 hurd-ed1d3f38812f06fcc85ff3fc60785b2193fa08a5.zip |
2000-03-17 Thomas Bushnell, BSG <tb@mit.edu>
* boot-start.c (diskfs_S_fsys_init, diskfs_start_bootstrap): Don't
use MOVE_SEND in Hurd RPC.
* file-exec.c (diskfs_S_file_exec): Don't use MAKE_SEND in Hurd
RPC.
* init-startup.c (diskfs_startup_diskfs, _diskfs_init_completed):
Likewise.
Diffstat (limited to 'libdiskfs/file-exec.c')
-rw-r--r-- | libdiskfs/file-exec.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libdiskfs/file-exec.c b/libdiskfs/file-exec.c index 451854ab..13afb7a9 100644 --- a/libdiskfs/file-exec.c +++ b/libdiskfs/file-exec.c @@ -57,6 +57,8 @@ diskfs_S_file_exec (struct protid *cred, mach_port_t execserver; int cached_exec; struct hurd_userlink ulink; + mach_port_t right; + #define RETURN(code) do { err = (code); goto out; } while (0) if (!cred) @@ -150,15 +152,16 @@ diskfs_S_file_exec (struct protid *cred, { do { + right = ports_get_send_right (newpi); err = exec_exec (execserver, - ports_get_right (newpi), - MACH_MSG_TYPE_MAKE_SEND, + right, MACH_MSG_TYPE_COPY_SEND, task, flags, argv, argvlen, envp, envplen, fds, MACH_MSG_TYPE_COPY_SEND, fdslen, portarray, MACH_MSG_TYPE_COPY_SEND, portarraylen, intarray, intarraylen, deallocnames, deallocnameslen, destroynames, destroynameslen); + mach_port_deallocate (mach_task_self (), newpi) if (err == MACH_SEND_INVALID_DEST) { if (cached_exec) |