summaryrefslogtreecommitdiff
path: root/libnetfs
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2014-01-28 23:43:09 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2014-01-28 23:43:09 +0100
commite24381784b0a56896542d1a5828a77ad0e1c40ec (patch)
tree493e0d6ad811f563142c5de72a8b80bb5d142b93 /libnetfs
parent613f84a0fcd46f2143b046b57c6c6444eafa4d4d (diff)
parentb8c728ec51696c5d17ef09a00b3b193b70a487da (diff)
Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurd
Diffstat (limited to 'libnetfs')
-rw-r--r--libnetfs/demuxer.c14
-rw-r--r--libnetfs/release-peropen.c5
2 files changed, 12 insertions, 7 deletions
diff --git a/libnetfs/demuxer.c b/libnetfs/demuxer.c
index 8ef4d86b..4c20ab62 100644
--- a/libnetfs/demuxer.c
+++ b/libnetfs/demuxer.c
@@ -20,17 +20,17 @@
#include "netfs.h"
+#include "io_S.h"
+#include "fs_S.h"
+#include "../libports/notify_S.h"
+#include "fsys_S.h"
+#include "../libports/interrupt_S.h"
+#include "ifsock_S.h"
+
int
netfs_demuxer (mach_msg_header_t *inp,
mach_msg_header_t *outp)
{
- mig_routine_t netfs_io_server_routine (mach_msg_header_t *);
- mig_routine_t netfs_fs_server_routine (mach_msg_header_t *);
- mig_routine_t ports_notify_server_routine (mach_msg_header_t *);
- mig_routine_t netfs_fsys_server_routine (mach_msg_header_t *);
- mig_routine_t ports_interrupt_server_routine (mach_msg_header_t *);
- mig_routine_t netfs_ifsock_server_routine (mach_msg_header_t *);
-
mig_routine_t routine;
if ((routine = netfs_io_server_routine (inp)) ||
(routine = netfs_fs_server_routine (inp)) ||
diff --git a/libnetfs/release-peropen.c b/libnetfs/release-peropen.c
index d4d3574c..c206b438 100644
--- a/libnetfs/release-peropen.c
+++ b/libnetfs/release-peropen.c
@@ -18,6 +18,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
+#include <sys/file.h>
#include "netfs.h"
void
@@ -39,6 +40,10 @@ netfs_release_peropen (struct peropen *po)
if (po->shadow_root_parent)
mach_port_deallocate (mach_task_self (), po->shadow_root_parent);
+ if (po->lock_status != LOCK_UN)
+ fshelp_acquire_lock (&po->np->userlock, &po->lock_status,
+ &po->np->lock, LOCK_UN);
+
netfs_nput (po->np);
free (po->path);