summaryrefslogtreecommitdiff
path: root/libmachdev
diff options
context:
space:
mode:
authorZheng Da <zhengda1936@gmail.com>2010-02-05 15:13:02 +0100
committerZheng Da <zhengda1936@gmail.com>2010-02-05 15:13:02 +0100
commit8733bb5763aacf170070005b00fc513a49887263 (patch)
treef4f56f41ebf2c8b914ba2bba82254253f21c6698 /libmachdev
parentac029a4bf4fe508d7cebbaa7c55fcba64e2d6726 (diff)
trivfs server creates its own port bucket.
Diffstat (limited to 'libmachdev')
-rw-r--r--libmachdev/trivfs_server.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c
index 74b8e6b7..4b34941e 100644
--- a/libmachdev/trivfs_server.c
+++ b/libmachdev/trivfs_server.c
@@ -6,7 +6,7 @@
#include <hurd/trivfs.h>
#include <hurd.h>
-extern struct port_bucket *port_bucket;
+static struct port_bucket *port_bucket;
/* Trivfs hooks. */
int trivfs_fstype = FSTYPE_MISC;
@@ -77,6 +77,7 @@ is_master_device (mach_port_t port)
int trivfs_init()
{
+ port_bucket = ports_create_bucket ();
trivfs_cntl_portclasses[0] = ports_create_class (trivfs_clean_cntl, 0);
trivfs_protid_portclasses[0] = ports_create_class (trivfs_clean_protid, 0);
return 0;
@@ -115,10 +116,14 @@ trivfs_goaway (struct trivfs_control *fsys, int flags)
static int
demuxer (mach_msg_header_t *inp, mach_msg_header_t *outp)
{
+ int ret;
extern int device_server (mach_msg_header_t *, mach_msg_header_t *);
extern int notify_server (mach_msg_header_t *, mach_msg_header_t *);
- return device_server (inp, outp) || notify_server (inp, outp)
+ fprintf (stderr, "before trivfs demuxer\n");
+ ret = device_server (inp, outp) || notify_server (inp, outp)
|| trivfs_demuxer (inp, outp);
+ fprintf (stderr, "after trivfs demuxer\n");
+ return ret;
}
void