diff options
author | Roland McGrath <roland@gnu.org> | 1994-10-06 23:02:25 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1994-10-06 23:02:25 +0000 |
commit | 76139ba934a146b18cac3ce1bfe0634b3b179e2f (patch) | |
tree | 615a3af2891c2e4293f5eae1f366ce2a824ebbb8 /hurd | |
parent | d5d34c0b8ebfa19ea3fd4112f416ffb8c4551ee7 (diff) |
(_hurd_socket_server): Take new arg DEAD; explain its use in comment.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/hurd.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/hurd/hurd.h b/hurd/hurd.h index 742a6799ac..7ba0062338 100644 --- a/hurd/hurd.h +++ b/hurd/hurd.h @@ -239,9 +239,18 @@ extern void _hurd_init (int flags, char **argv, extern void _hurd_proc_init (char **argv); -/* Return the socket server for sockaddr domain DOMAIN. */ - -extern socket_t _hurd_socket_server (int domain); +/* Return the socket server for sockaddr domain DOMAIN. If DEAD is + nonzero, remove the old cached port and always do a fresh lookup. + + It is assumed that a socket server will stay alive during a complex socket + operation involving several RPCs. But a socket server may die during + long idle periods between socket operations. Callers should first pass + zero for DEAD; if the first socket RPC tried on the returned port fails + with MACH_SEND_INVALID_DEST or MIG_SERVER_DIED (indicating the server + went away), the caller should call _hurd_socket_server again with DEAD + nonzero and retry the RPC on the new socket server port. */ + +extern socket_t _hurd_socket_server (int domain, int dead); /* Send a `sig_post' RPC to process number PID. If PID is zero, send the message to all processes in the current process's process group. |