X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=src%2Finclude%2Ffrontend%2Fsock.h;fp=src%2Finclude%2Ffrontend%2Fsock.h;h=ba33d13c194ff575774108ac5bf1af4cc7954b2c;hp=1951614e7ba5362cdd6eb4bfd1dc380b54832a08;hb=31891e01b907a4478bb427ca2830598a62da2210;hpb=13c1b08cd982fd161696bc8274a380e212dac6f1 diff --git a/src/include/frontend/sock.h b/src/include/frontend/sock.h index 1951614..ba33d13 100644 --- a/src/include/frontend/sock.h +++ b/src/include/frontend/sock.h @@ -32,6 +32,12 @@ extern "C" { #endif +/* manage a front-end listener loop */ +typedef struct { + _Bool do_loop; +} sdb_fe_loop_t; +#define SDB_FE_LOOP_INIT { 1 } + /* * sdb_fe_socket_t: * A front-end socket accepting connections from clients. @@ -73,14 +79,15 @@ sdb_fe_sock_add_listener(sdb_fe_socket_t *sock, const char *address); /* * sdb_fe_sock_listen_and_serve: - * Listen on the specified socket and serve client requests. + * Listen on the specified socket and serve client requests. The loop + * terminates on error or when the loop condition turns to false. * * Returns: * - 0 on success * - a negative value else */ int -sdb_fe_sock_listen_and_serve(sdb_fe_socket_t *sock); +sdb_fe_sock_listen_and_serve(sdb_fe_socket_t *sock, sdb_fe_loop_t *loop); #ifdef __cplusplus } /* extern "C" */