[tuxdroid-svn] r436 - daemon/trunk/libs
Status: Beta
Brought to you by:
ks156
From: neimad <c2m...@c2...> - 2007-06-24 12:59:52
|
Author: neimad Date: 2007-06-24 14:59:50 +0200 (Sun, 24 Jun 2007) New Revision: 436 Modified: daemon/trunk/libs/USBDaemon_tcp_server.c Log: * Added tcp_add_client(), which adds a newly connected client to the array of clients. Modified: daemon/trunk/libs/USBDaemon_tcp_server.c =================================================================== --- daemon/trunk/libs/USBDaemon_tcp_server.c 2007-06-24 12:52:25 UTC (rev 435) +++ daemon/trunk/libs/USBDaemon_tcp_server.c 2007-06-24 12:59:50 UTC (rev 436) @@ -118,6 +118,28 @@ } /** + * Add a TCP client. + * + * @param[in] sock Client's socket + * + * @return client id if successful, -1 otherwise + */ +static int tcp_add_client(int sock) +{ + int i; + + for (i = 0; i < TUX_MAX_TCP_CLIENTS; i++) + if (tcp_clients_handle[i] < 0) + { + tcp_clients_handle[i] = sock; + tcp_clients_count++; + return i; + } + + return -1; +} + +/** * Server's event loop */ void tcp_server_loop(void) @@ -173,19 +195,10 @@ log_error("accept failed: %m"); else { - int client_added = 0; + int client_id = tcp_add_client(tmp_client); - for (i = 0; i < TUX_MAX_TCP_CLIENTS; i++) - if (tcp_clients_handle[i] < 0) - { - tcp_clients_handle[i] = tmp_client; - tcp_clients_count++; - client_added = 1; - break; - } - - if (client_added) - log_info("client %d connected", i); + if (client_id != -1) + log_info("client %d connected", client_id); else { log_error("client rejected: client table full"); |