diff options
Diffstat (limited to 'libnetfs/io-duplicate.c')
-rw-r--r-- | libnetfs/io-duplicate.c | 11 |
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; |