version 1.12, 2013/12/15 22:57:20
|
version 1.13, 2013/12/18 12:40:21
|
Line 246 io_rxPty(sched_task_t *task)
|
Line 246 io_rxPty(sched_task_t *task)
|
static void * |
static void * |
io_bridgeClient(sched_task_t *task) |
io_bridgeClient(sched_task_t *task) |
{ |
{ |
int c, rlen; | int c, rlen, pty; |
pid_t pid; |
pid_t pid; |
sockaddr_t sa; |
sockaddr_t sa; |
socklen_t salen = sizeof sa.ss; |
socklen_t salen = sizeof sa.ss; |
Line 290 io_bridgeClient(sched_task_t *task)
|
Line 290 io_bridgeClient(sched_task_t *task)
|
AIT_SET_BUFSIZ(&cli->cli_buf[0], 0, AIT_LEN(&s->sock_buf)); |
AIT_SET_BUFSIZ(&cli->cli_buf[0], 0, AIT_LEN(&s->sock_buf)); |
AIT_SET_BUFSIZ(&cli->cli_buf[1], 0, AIT_LEN(&s->sock_buf)); |
AIT_SET_BUFSIZ(&cli->cli_buf[1], 0, AIT_LEN(&s->sock_buf)); |
|
|
switch ((pid = ioForkPTY(&cli->cli_pty, cli->cli_name, sizeof cli->cli_name, | switch ((pid = ioForkPTY(&pty, cli->cli_name, sizeof cli->cli_name, |
NULL, NULL, NULL))) { |
NULL, NULL, NULL))) { |
case -1: |
case -1: |
ELIBERR(io); |
ELIBERR(io); |
break; |
break; |
case 0: |
case 0: |
|
cli->cli_pty = pty; |
|
|
array_Args(cli->cli_cmdline, 0, " \t", &args); |
array_Args(cli->cli_cmdline, 0, " \t", &args); |
argv = array_To(args); |
argv = array_To(args); |
array_Destroy(&args); |
array_Destroy(&args); |
Line 307 io_bridgeClient(sched_task_t *task)
|
Line 309 io_bridgeClient(sched_task_t *task)
|
_exit(rlen); |
_exit(rlen); |
break; |
break; |
default: |
default: |
|
cli->cli_pty = pty; |
cli->cli_pid = pid; |
cli->cli_pid = pid; |
|
|
schedRead(TASK_ROOT(task), io_rxPty, cli, cli->cli_pty, |
schedRead(TASK_ROOT(task), io_rxPty, cli, cli->cli_pty, |