Age | Commit message (Collapse) | Author |
|
* pflocal/socket.c (S_socket_connect2): For connection-less sockets, also
connect `user2' to `user1'.
|
|
* Fix spelling with codespell[1] and manually review it.
[1] http://git.profusion.mobi/cgit.cgi/lucas/codespell/
|
|
* pflocal/socket.c (S_socket_recv): Return transmitted port to caller
thanks to MACH_MSG_TYPE_COPY_SEND instead of MACH_MSG_TYPE_MAKE_SEND
(since this is a send right here).
|
|
* pflocal/socket.c (S_socket_getopt): Add SO_TYPE support.
(S_socket_setopt): Fix return value.
|
|
* socket.c (S_socket_send): Release a reader reference instead of a
writer reference when the destination is given.
|
|
|
|
* pf.c (S_socket_fabricate_address): Drop one reference from addr since
we only take the send right.
* socket.c (S_socket_name): Likewise.
|
|
|
|
2005-05-17 Neal H. Walfield <neal@gnu.org>
* connq.h (struct connq_request): Remove forward.
(connq_listen): Wait for a request to be queued not until there is
a connection attempt. Remove REQ parameter. Update callers.
(connq_request_complete): Remove declaration.
(connq_connect): Wait for a slot to queue a request not until
there is an acceptor. Remove SOCK parameter. Update callers.
(connq_connect_complete): New declaration.
(connq_connect_cancel): New declaration.
* connq.c (struct connq): Remove fields noqueue, queue, length,
head and tail. Add fields head, tail, count, max, connectors and
num_connectors. That is, replace the circular buffer with a
singly linked list.
(qnext): Remove function.
(struct connq_request): Remove field signal, lock, completed and
err. Add field next.
(connq_request_init): Rewrite according to new semantics.
(connq_request_enqueue): New function.
(connq_request_dequeue): New function.
(connq_create): Update according to new semantics.
(connq_destroy): Likewise.
(connq_listen): Rewrite to not block until there is a connector
but until there is a request in the queue.
(connq_request_complete): Remove function.
(connq_connect): Rewrite to not block until there is an acceptor
but until there is space for a request.
(connq_connect_complete): New function.
(connq_connect_cancel): New function.
(connq_compress): Remove dead code.
(connq_set_length): Rewrite.
* socket.c (S_socket_connect): Create the server socket here...
(S_socket_accept): ... not here.
|
|
Test for MSG_OOB in IN_FLAGS, not FLAGS.
Return EINVAL if we get MSG_OOB, not EOPNOTSUPP.
|
|
(S_socket_send): Allow DEST_ADDR to be null if the socket is connected.
|
|
|
|
|
|
|
|
(S_socket_send): Use pipe_release_writer instead of pipe_release.
(S_socket_recv): Reflect EPIPE as EOF.
|
|
listening socket is expecting, instead of connecting directly to it.
(S_socket_connect): Use the CONNECT_QUEUE field to allow only a single
connection attempt at once.
(S_socket_connect): Check for already-connected sockets here instead of
waiting for the final rendezvous.
(S_socket_connect): Return ECONNREFUSED when trying to connect to a
non-existant address, instead of EADDRNOTAVAIL.
Rename all uses of the CONNQ field in struct sock to LISTEN_QUEUE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|