summaryrefslogtreecommitdiff
path: root/pflocal/connq.h
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>1995-07-30 00:50:48 +0000
committerMiles Bader <miles@gnu.org>1995-07-30 00:50:48 +0000
commit0c67ac7e01bce46ac886e8249bade9db3844bd95 (patch)
tree102e6e0c451451aa5cce643fccd41e03dc1af284 /pflocal/connq.h
parent6a69aeb9c1a999bb9b511ba3f98e601f3693b3b8 (diff)
(connq_interrupt_sock): New declaration.
(connq_interrupt): New declaration.
Diffstat (limited to 'pflocal/connq.h')
-rw-r--r--pflocal/connq.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/pflocal/connq.h b/pflocal/connq.h
index 7daf8864..b2ebc81a 100644
--- a/pflocal/connq.h
+++ b/pflocal/connq.h
@@ -38,7 +38,7 @@ error_t connq_create (struct connq **cq);
left in the queue, otherwise connq_request_complete must be called on REQ
to allow the requesting thread to continue. If NOBLOCK is true,
EWOULDBLOCK is returned when there are no immediate connections
- available. */
+ available. CQ should be unlocked. */
error_t connq_listen (struct connq *cq, int noblock,
struct connq_request **req, struct sock **sock);
@@ -52,7 +52,15 @@ error_t connq_set_length (struct connq *cq, int length);
/* Try to connect SOCK with the socket listening on CQ. If NOBLOCK is true,
then return EWOULDBLOCK immediately when there are no immediate
- connections available. */
+ connections available. Neither SOCK nor CQ should be locked. */
error_t connq_connect (struct connq *cq, int noblock, struct sock *sock);
+/* Interrupt any threads waiting on CQ, both listeners and connectors, and
+ make them return with EINTR. */
+void connq_interrupt (struct connq *cq);
+
+/* Interrupt any threads that are attempting to connect SOCK to CQ, and make
+ them return with EINTR. */
+void connq_interrupt_sock (struct connq *cq, struct sock *sock);
+
#endif /* __CONNQ_H__ */