diff options
author | Zheng Da <zhengda1936@gmail.com> | 2010-02-05 15:13:02 +0100 |
---|---|---|
committer | Zheng Da <zhengda1936@gmail.com> | 2010-02-05 15:13:02 +0100 |
commit | 8733bb5763aacf170070005b00fc513a49887263 (patch) | |
tree | f4f56f41ebf2c8b914ba2bba82254253f21c6698 /libmachdev | |
parent | ac029a4bf4fe508d7cebbaa7c55fcba64e2d6726 (diff) |
trivfs server creates its own port bucket.
Diffstat (limited to 'libmachdev')
-rw-r--r-- | libmachdev/trivfs_server.c | 9 |
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 |