version 1.8.2.7, 2012/05/11 13:35:22
|
version 1.8.2.8, 2012/05/14 08:36:58
|
Line 166 rxPacket(sched_task_t *task)
|
Line 166 rxPacket(sched_task_t *task)
|
rlen = recv(TASK_FD(task), buf, TASK_DATLEN(task), 0); |
rlen = recv(TASK_FD(task), buf, TASK_DATLEN(task), 0); |
if (rlen == -1) { |
if (rlen == -1) { |
LOGERR; |
LOGERR; |
s->srv_kill = s->srv_blob.state = kill; | c->cli_kill = kill; |
return NULL; |
return NULL; |
} else if (!rlen) { /* receive EOF */ |
} else if (!rlen) { /* receive EOF */ |
s->srv_kill = s->srv_blob.state = kill; | c->cli_kill = kill; |
return NULL; |
return NULL; |
} |
} |
|
|
Line 265 rpc_srv_dispatchCall(void *arg)
|
Line 265 rpc_srv_dispatchCall(void *arg)
|
|
|
schedRead(root, rxPacket, c, c->cli_sock, buf, s->srv_netbuf); |
schedRead(root, rxPacket, c, c->cli_sock, buf, s->srv_netbuf); |
|
|
schedRun(root, (void*) &s->srv_kill); | schedRun(root, (void*) &c->cli_kill); |
schedEnd(&root); |
schedEnd(&root); |
|
|
shutdown(c->cli_sock, SHUT_RDWR); |
shutdown(c->cli_sock, SHUT_RDWR); |
Line 325 rxBLOB(sched_task_t *task)
|
Line 325 rxBLOB(sched_task_t *task)
|
rlen = recv(TASK_FD(task), buf, TASK_DATLEN(task), 0); |
rlen = recv(TASK_FD(task), buf, TASK_DATLEN(task), 0); |
if (rlen == -1) { |
if (rlen == -1) { |
LOGERR; |
LOGERR; |
s->srv_blob.state = kill; | c->cli_kill = kill; |
return NULL; |
return NULL; |
} else if (!rlen || s->srv_kill == kill) { /* receive EOF */ | } else if (!rlen) { /* receive EOF */ |
s->srv_blob.state = kill; | c->cli_kill = kill; |
return NULL; |
return NULL; |
} |
} |
|
|
Line 448 rpc_srv_dispatchVars(void *arg)
|
Line 448 rpc_srv_dispatchVars(void *arg)
|
|
|
schedRead(root, rxBLOB, c, c->cli_sock, buf, sizeof(struct tagBLOBHdr)); |
schedRead(root, rxBLOB, c, c->cli_sock, buf, sizeof(struct tagBLOBHdr)); |
|
|
schedRun(root, (void*) &s->srv_blob.state); | schedRun(root, (void*) &c->cli_kill); |
schedEnd(&root); |
schedEnd(&root); |
|
|
shutdown(c->cli_sock, SHUT_RDWR); |
shutdown(c->cli_sock, SHUT_RDWR); |
Line 673 rpc_srv_loopBLOB(rpc_srv_t * __restrict srv)
|
Line 673 rpc_srv_loopBLOB(rpc_srv_t * __restrict srv)
|
c->cli_parent = srv; |
c->cli_parent = srv; |
|
|
/* spawn dispatch thread for BLOB client */ |
/* spawn dispatch thread for BLOB client */ |
|
c->cli_kill = enable; |
if (pthread_create(&c->cli_tid, &attr, rpc_srv_dispatchVars, c)) { |
if (pthread_create(&c->cli_tid, &attr, rpc_srv_dispatchVars, c)) { |
LOGERR; |
LOGERR; |
continue; |
continue; |
Line 895 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
Line 896 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
if (listen(srv->srv_server.cli_sock, SOMAXCONN) == -1) { |
if (listen(srv->srv_server.cli_sock, SOMAXCONN) == -1) { |
LOGERR; |
LOGERR; |
return -1; |
return -1; |
} /*else | } else |
fcntl(srv->srv_server.cli_sock, F_SETFL, fcntl(srv->srv_server.cli_sock, F_GETFL) | O_NONBLOCK); |
fcntl(srv->srv_server.cli_sock, F_SETFL, fcntl(srv->srv_server.cli_sock, F_GETFL) | O_NONBLOCK); |
*/ |
|
|
|
pthread_attr_init(&attr); |
pthread_attr_init(&attr); |
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); |
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); |
Line 934 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
Line 934 rpc_srv_loopServer(rpc_srv_t * __restrict srv)
|
c->cli_parent = srv; |
c->cli_parent = srv; |
|
|
/* spawn rpc client dispatcher */ |
/* spawn rpc client dispatcher */ |
|
c->cli_kill = enable; |
if (pthread_create(&c->cli_tid, &attr, rpc_srv_dispatchCall, c)) { |
if (pthread_create(&c->cli_tid, &attr, rpc_srv_dispatchCall, c)) { |
LOGERR; |
LOGERR; |
continue; |
continue; |