From 3c80e8e2dff1f9f8dc0e92e39d18b690eaed758d Mon Sep 17 00:00:00 2001 From: Hallvard Furuseth Date: Tue, 24 Jan 2012 00:47:48 +0100 Subject: [PATCH] ITS#7125 Document connection loop API. Code comments belong in the code, not in commit messages. --- servers/slapd/connection.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index b29e2f22f0..eb94af855f 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -864,6 +864,17 @@ unsigned long connections_nextid(void) return id; } +/* + * Loop through the connections: + * + * for (c = connection_first(&i); c; c = connection_next(c, &i)) ...; + * connection_done(c); + * + * 'i' is the cursor, initialized by connection_first(). + * 'c_mutex' is locked in the returned connection. The functions must + * be passed the previous return value so they can unlock it again. + */ + Connection* connection_first( ber_socket_t *index ) { assert( connections != NULL ); @@ -880,6 +891,7 @@ Connection* connection_first( ber_socket_t *index ) return connection_next(NULL, index); } +/* Next connection in loop, see connection_first() */ Connection* connection_next( Connection *c, ber_socket_t *index ) { assert( connections != NULL ); @@ -928,6 +940,7 @@ Connection* connection_next( Connection *c, ber_socket_t *index ) return c; } +/* End connection loop, see connection_first() */ void connection_done( Connection *c ) { assert( connections != NULL ); -- 2.39.2