summaryrefslogtreecommitdiff
path: root/trans
diff options
context:
space:
mode:
authorMarcus Brinkmann <marcus@gnu.org>2002-05-13 02:39:20 +0000
committerMarcus Brinkmann <marcus@gnu.org>2002-05-13 02:39:20 +0000
commitafd0560120832764011b86a08de49fe12d93235c (patch)
treea934aa6d6c4ddc09f58289d655e91869724a532d /trans
parent3458a0f98645cd5c9de8b5d22872e2bbd4d82185 (diff)
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* fakeroot.c (netfs_S_file_exec): New function. (netfs_S_io_prenotify): Fix last change. (netfs_S_io_postnotify): Likewise.
Diffstat (limited to 'trans')
-rw-r--r--trans/ChangeLog6
-rw-r--r--trans/fakeroot.c38
2 files changed, 42 insertions, 2 deletions
diff --git a/trans/ChangeLog b/trans/ChangeLog
index 4d876aec..9c4f1ea9 100644
--- a/trans/ChangeLog
+++ b/trans/ChangeLog
@@ -1,5 +1,11 @@
2002-05-13 Marcus Brinkmann <marcus@gnu.org>
+ * fakeroot.c (netfs_S_file_exec): New function.
+ (netfs_S_io_prenotify): Fix last change.
+ (netfs_S_io_postnotify): Likewise.
+
+2002-05-13 Marcus Brinkmann <marcus@gnu.org>
+
* fakeroot.c (NETFS_S_SIMPLE): New macro.
(netfs_S_io_get_conch): New function.
(netfs_S_io_release_conch): New function.
diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 5f9e721a..20c34744 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -572,6 +572,40 @@ netfs_file_get_storage_info (struct iouser *cred,
data, data_len);
}
+kern_return_t
+netfs_S_file_exec (struct protid *user,
+ task_t task,
+ int flags,
+ char *argv,
+ size_t argvlen,
+ char *envp,
+ size_t envplen,
+ mach_port_t *fds,
+ size_t fdslen,
+ mach_port_t *portarray,
+ size_t portarraylen,
+ int *intarray,
+ size_t intarraylen,
+ mach_port_t *deallocnames,
+ size_t deallocnameslen,
+ mach_port_t *destroynames,
+ size_t destroynameslen)
+{
+ error_t err;
+
+ if (!user)
+ return EOPNOTSUPP;
+
+ mutex_lock (&user->po->np->lock);
+ err = file_exec (user->po->np->nn->file, task, flags, argv, argvlen,
+ envp, envplen, fds, MACH_MSG_TYPE_MOVE_SEND, fdslen,
+ portarray, MACH_MSG_TYPE_MOVE_SEND, portarraylen,
+ intarray, intarraylen, deallocnames, deallocnameslen,
+ destroynames, destroynameslen);
+ mutex_unlock (&user->po->np->lock);
+ return err;
+}
+
error_t
netfs_S_io_map (struct protid *user,
mach_port_t *rdobj, mach_msg_type_name_t *rdobjtype,
@@ -638,7 +672,7 @@ netfs_S_io_prenotify (struct protid *user,
return EOPNOTSUPP;
mutex_lock (&user->po->np->lock);
- err = io_get_prenotify (user->po->np->nn->file, start, stop);
+ err = io_prenotify (user->po->np->nn->file, start, stop);
mutex_unlock (&user->po->np->lock);
return err;
}
@@ -653,7 +687,7 @@ netfs_S_io_postnotify (struct protid *user,
return EOPNOTSUPP;
mutex_lock (&user->po->np->lock);
- err = io_get_postnotify (user->po->np->nn->file, start, stop);
+ err = io_postnotify (user->po->np->nn->file, start, stop);
mutex_unlock (&user->po->np->lock);
return err;
}