[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Custom interface questions.
From: |
Thomas Bushnell, BSG |
Subject: |
Re: Custom interface questions. |
Date: |
01 Mar 2004 23:14:05 -0800 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
Rian Hunter <hurd@thelaststop.net> writes:
> I'm writing a Hurd server that uses its own custom interface (ie does
> not implement io_write, io_read rpcs etc). Is this correct? Should all
> Hurd servers be required to handle the standard Hurd rpcs since the
> nameserver for ports is basically the filesystem? I tried a test client
> and server program but the client froze upon execution (at the
> file_name_lookup call) and ls would freeze too in the folder where the
> active translator was located. I figured this is because ls (or
> file_name_lookup()) is calling some io_ call or fsys_ rpc that my server
> doesn't implement and it gets stuck waiting forever.
If you want to be part of the filesystem, you must implement the fsys_*
calls. You must also implement the file_* and io_* calls for the node
you are inserting into the filesystem.
The trivfs library exists to do all this for you so that you don't
have to think about it.
> Also, for Mach IPC, is a nameserver of some sort is always necessary?
Depends on the value of "of some sort". In the Hurd, the filesystem
serves as a nameserver.
> Would a mach_port_t value of 59 mean the same actual port for two
> different running programs? (i'm guessing no)
No. Mach port IDs are task-specific exactly the same way Unix file
descriptors.
Thomas