summaryrefslogtreecommitdiff
path: root/libdiskfs/file-exec.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1994-11-09 06:46:12 +0000
committerMichael I. Bushnell <mib@gnu.org>1994-11-09 06:46:12 +0000
commitb78a3e7d09b4f223a19a3f0482a082635c6ffb66 (patch)
tree7ed6263f93eb9a6c0b55f4ab9f677a2953a67240 /libdiskfs/file-exec.c
parent1ab1f6596b77abdec3628e6e4d057e61ba0808d2 (diff)
(diskfs_S_file_exec): If diskfs_exec isn't already set, try to open it
here. (Later, we should also deal if exec_exec returns that the previous server died.)
Diffstat (limited to 'libdiskfs/file-exec.c')
-rw-r--r--libdiskfs/file-exec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libdiskfs/file-exec.c b/libdiskfs/file-exec.c
index 78f7f504..853170ff 100644
--- a/libdiskfs/file-exec.c
+++ b/libdiskfs/file-exec.c
@@ -49,6 +49,11 @@ diskfs_S_file_exec (struct protid *cred,
if (!cred)
return EOPNOTSUPP;
+
+ if (diskfs_exec == MACH_PORT_NULL)
+ diskfs_exec = path_name_lookup (_SERVERS_EXEC, 0);
+ if (diskfs_exec == MACH_PORT_NULL)
+ return EOPNOTSUPP;
np = cred->po->np;
if ((cred->po->openstat & O_EXEC) == 0)