[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: non-blocking connect fails with no pending acceptors
From: |
Neal H. Walfield |
Subject: |
Re: non-blocking connect fails with no pending acceptors |
Date: |
Mon, 29 Aug 2005 09:30:42 +0100 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.4 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI) |
This has received through testing in the Debian package. I've now
committed it to ams-branch.
> pflocal/
>
> 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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: non-blocking connect fails with no pending acceptors,
Neal H. Walfield <=