version 1.11.2.6, 2013/12/15 22:31:44
|
version 1.11.2.7, 2013/12/15 22:44:30
|
Line 625 ioLoopSocket(sock_t * __restrict s, sched_task_func_t
|
Line 625 ioLoopSocket(sock_t * __restrict s, sched_task_func_t
|
return schedRun(s->sock_root, &s->sock_kill); |
return schedRun(s->sock_root, &s->sock_kill); |
} |
} |
|
|
|
static void * |
|
io_progPurge(sched_task_t *task) |
|
{ |
|
sock_t *s = (sock_t*) TASK_ARG(task); |
|
|
|
io_progVacuum(s->sock_prog, 0); |
|
|
|
schedTimer(TASK_ROOT(task), TASK_FUNC(task), TASK_ARG(task), |
|
s->sock_timeout, TASK_DATA(task), TASK_DATLEN(task)); |
|
taskExit(task, NULL); |
|
} |
|
|
/* |
/* |
* ioBridgeProg2Socket() - Start socket scheduler and bridge program to socket |
* ioBridgeProg2Socket() - Start socket scheduler and bridge program to socket |
* |
* |
Line 638 ioBridgeProg2Socket(sock_t * __restrict s, const char
|
Line 650 ioBridgeProg2Socket(sock_t * __restrict s, const char
|
if (!s || !prgname || s->sock_kill) |
if (!s || !prgname || s->sock_kill) |
return -1; |
return -1; |
|
|
if (s->sock_prog) | if (s->sock_prog) { |
schedRead(s->sock_root, io_bridgeClient2Pool, |
schedRead(s->sock_root, io_bridgeClient2Pool, |
s, s->sock_fd, (void*) prgname, 0); |
s, s->sock_fd, (void*) prgname, 0); |
else | schedTimer(s->sock_root, io_progPurge, s, s->sock_timeout, NULL, 0); |
| } else |
schedRead(s->sock_root, io_bridgeClient, |
schedRead(s->sock_root, io_bridgeClient, |
s, s->sock_fd, (void*) prgname, 0); |
s, s->sock_fd, (void*) prgname, 0); |
return schedRun(s->sock_root, &s->sock_kill); |
return schedRun(s->sock_root, &s->sock_kill); |