aboutsummaryrefslogtreecommitdiff
path: root/pflocal/connq.c
Commit message (Collapse)AuthorAgeFilesLines
* Revery previous change. Was intended for ams-branch, not HEAD.Neal H. Walfield2005-08-291-189/+160
|
* pflocal/Neal H. Walfield2005-08-291-160/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 2001-12-22 Roland McGrath <roland@frob.com>Roland McGrath2001-12-221-7/+9
| | | | * connq.c (connq_compress): #if 0 out unused function.
* 2001-02-20 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann2001-02-201-0/+1
| | | | | * connq.c: Include <assert.h>. Reported by Arkadi E. Shishlov <arkadi@it.lv>.
* 2001-02-11 Marcus Brinkmann <marcus@gnu.org>Marcus Brinkmann2001-02-121-0/+14
| | | | | | | * connq.c (connq_destroy): New function. * connq.h: Prototype connq_destroy. * sock.c (sock_free): Call connq_destroy when listen or connect queue exist.
* (connq_listen):Miles Bader1996-10-071-2/+5
| | | | Unlock CQ->lock when returning EWOULDBLOCK.
* Remove debugging noise.Miles Bader1996-01-191-36/+4
|
* (struct connq): Remove interrupt_seq_num field.Miles Bader1995-08-291-80/+8
| | | | | | (connq_listen): Use hurd_condition_wait to detect interrupts instead of previous ad-hoc mechanism. (connq_interrupt, connq_interrupt_sock): Functions deleted.
* (connq_compress): New function.Miles Bader1995-07-311-16/+24
| | | | (connq_interrupt_sock): Use connq_compress to compress the queue.
* (connq_interrupt_sock): Reset CQ's tail to the end of the compressed queue.Miles Bader1995-07-311-4/+7
|
* (connq_interrupt_sock): New function.Miles Bader1995-07-301-24/+121
| | | | | | | | | | | | | | (connq_interrupt): New function. (connq_set_length): When shrinking the queue, actually do so, and don't leak memory. (struct connq): Add the INTERRUPT_SEQ_NUM field, used to detect interupts. (connq_listen): Detect when we get interrupted, and return EINTR. Don't lock the accepted request just to get its sock. (connq_connect): Initialize REQ before using it. (connq_request_init): Swap the arguments. (connq_listen, connq_connect, connq_interrupt, connq_set_length): Reverse the roles of the HEAD and TAIL fields, and make sure they're used correctly. (qprev): Deleted function.
* entered into RCSMiles Bader1995-07-221-0/+30
|
* Formerly connq.c.~5~Miles Bader1995-07-161-29/+39
|
* Formerly connq.c.~4~Miles Bader1995-07-021-23/+48
|
* Formerly connq.c.~3~Miles Bader1995-07-021-48/+48
|
* Formerly connq.c.~2~Miles Bader1995-07-021-0/+161
|
* Initial revisionMiles Bader1995-07-021-0/+42