version 1.20, 2013/09/05 00:43:05
|
version 1.20.4.2, 2013/11/13 12:18:43
|
Line 386 acceptClients(sched_task_t *task)
|
Line 386 acceptClients(sched_task_t *task)
|
rpc_srv_t *srv = TASK_ARG(task); |
rpc_srv_t *srv = TASK_ARG(task); |
rpc_cli_t *c = NULL; |
rpc_cli_t *c = NULL; |
socklen_t salen = sizeof(sockaddr_t); |
socklen_t salen = sizeof(sockaddr_t); |
|
int sock; |
|
|
c = _allocClient(srv, NULL); |
c = _allocClient(srv, NULL); |
if (!c) | if (!c) { |
| EVERBOSE(1, "RPC client quota exceeded! Connection will be shutdown!\n"); |
| if ((sock = accept(TASK_FD(task), NULL, NULL)) != -1) { |
| shutdown(sock, SHUT_RDWR); |
| close(sock); |
| } |
goto end; |
goto end; |
|
} |
|
|
/* accept client */ |
/* accept client */ |
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
c->cli_sock = accept(TASK_FD(task), &c->cli_sa.sa, &salen); |
Line 712 acceptBLOBClients(sched_task_t *task)
|
Line 719 acceptBLOBClients(sched_task_t *task)
|
rpc_cli_t *c = NULL; |
rpc_cli_t *c = NULL; |
register int i; |
register int i; |
socklen_t salen = sizeof(sockaddr_t); |
socklen_t salen = sizeof(sockaddr_t); |
|
int sock; |
#ifdef TCP_NOPUSH |
#ifdef TCP_NOPUSH |
int n = 1; |
int n = 1; |
#endif |
#endif |
Line 719 acceptBLOBClients(sched_task_t *task)
|
Line 727 acceptBLOBClients(sched_task_t *task)
|
/* check free slots for connect */ |
/* check free slots for connect */ |
for (i = 0; i < array_Size(srv->srv_blob.clients) && |
for (i = 0; i < array_Size(srv->srv_blob.clients) && |
(c = array(srv->srv_blob.clients, i, rpc_cli_t*)); i++); |
(c = array(srv->srv_blob.clients, i, rpc_cli_t*)); i++); |
if (c) /* no more free slots! */ | if (c) { /* no more free slots! */ |
| EVERBOSE(1, "BLOB client quota exceeded! Connection will be shutdown!\n"); |
| if ((sock = accept(TASK_FD(task), NULL, NULL)) != -1) { |
| shutdown(sock, SHUT_RDWR); |
| close(sock); |
| } |
goto end; |
goto end; |
|
} |
|
|
c = e_malloc(sizeof(rpc_cli_t)); |
c = e_malloc(sizeof(rpc_cli_t)); |
if (!c) { |
if (!c) { |
LOGERR; |
LOGERR; |