summaryrefslogtreecommitdiff
path: root/libnetfs/io-duplicate.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnetfs/io-duplicate.c')
-rw-r--r--libnetfs/io-duplicate.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libnetfs/io-duplicate.c b/libnetfs/io-duplicate.c
index a41af9bf..ad374fc9 100644
--- a/libnetfs/io-duplicate.c
+++ b/libnetfs/io-duplicate.c
@@ -1,5 +1,5 @@
/*
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995,96,2001 Free Software Foundation, Inc.
Written by Michael I. Bushnell, p/BSG.
This file is part of the GNU Hurd.
@@ -26,11 +26,16 @@ netfs_S_io_duplicate (struct protid *user,
mach_port_t *newport,
mach_msg_type_name_t *newporttp)
{
+ error_t err;
struct protid *newpi;
+ struct iouser *clone;
+
+ err = iohelp_dup_iouser (&clone, user->user);
+ if (err)
+ return err;
mutex_lock (&user->po->np->lock);
- newpi = netfs_make_protid (user->po,
- iohelp_dup_iouser (user->user));
+ newpi = netfs_make_protid (user->po, clone);
*newport = ports_get_right (newpi);
mutex_unlock (&user->po->np->lock);
*newporttp = MACH_MSG_TYPE_MAKE_SEND;