Rian Hunter <[EMAIL PROTECTED]> 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


_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to