|
|
| version 1.1.1.1.2.6, 2011/10/13 16:08:52 | version 1.1.1.1.2.7, 2011/10/14 12:03:10 |
|---|---|
| Line 175 fdTx(sched_task_t *task) | Line 175 fdTx(sched_task_t *task) |
| if (proc->proc_flg != ANSH_FLG_CPOUT || !proc->proc_pid) | if (proc->proc_flg != ANSH_FLG_CPOUT || !proc->proc_pid) |
| return NULL; | return NULL; |
| /* | |
| if (waitpid(proc->proc_pid, &wlen, WNOHANG)) { | if (waitpid(proc->proc_pid, &wlen, WNOHANG)) { |
| ioFreePTY(TASK_FD(task), proc->proc_ttyname); | ioFreePTY(TASK_FD(task), proc->proc_ttyname); |
| schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); | schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); |
| Line 187 fdTx(sched_task_t *task) | Line 188 fdTx(sched_task_t *task) |
| schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); | schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); |
| return NULL; | return NULL; |
| } | } |
| */ | |
| /* if Timeout defined, disarm timer */ | /* if Timeout defined, disarm timer */ |
| if (Timeout) | if (Timeout) |
| Line 197 fdTx(sched_task_t *task) | Line 199 fdTx(sched_task_t *task) |
| case -1: | case -1: |
| ERR("write2tty #%d - %s", errno, strerror(errno)); | ERR("write2tty #%d - %s", errno, strerror(errno)); |
| /* exit from shell and release tty */ | /* exit from shell and release tty */ |
| /* | |
| waitpid(proc->proc_pid, &wlen, 0); | waitpid(proc->proc_pid, &wlen, 0); |
| ioFreePTY(TASK_FD(task), proc->proc_ttyname); | ioFreePTY(TASK_FD(task), proc->proc_ttyname); |
| schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); | schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); |
| Line 207 fdTx(sched_task_t *task) | Line 210 fdTx(sched_task_t *task) |
| proc->proc_rlen_[FD2NET] = 0; | proc->proc_rlen_[FD2NET] = 0; |
| schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); | schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); |
| */ | |
| return NULL; | return NULL; |
| default: | default: |
| proc->proc_flg = ANSH_FLG_OK; | proc->proc_flg = ANSH_FLG_OK; |
| Line 237 fdRx(sched_task_t *task) | Line 241 fdRx(sched_task_t *task) |
| if (!proc->proc_pid) | if (!proc->proc_pid) |
| return NULL; | return NULL; |
| /* | |
| if (waitpid(proc->proc_pid, &rlen, WNOHANG)) { | if (waitpid(proc->proc_pid, &rlen, WNOHANG)) { |
| ioFreePTY(TASK_FD(task), proc->proc_ttyname); | ioFreePTY(TASK_FD(task), proc->proc_ttyname); |
| schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); | schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); |
| Line 249 fdRx(sched_task_t *task) | Line 254 fdRx(sched_task_t *task) |
| schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); | schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); |
| return NULL; | return NULL; |
| } | } |
| */ | |
| /* if Timeout defined, disarm timer */ | /* if Timeout defined, disarm timer */ |
| if (Timeout) | if (Timeout) |
| Line 262 fdRx(sched_task_t *task) | Line 268 fdRx(sched_task_t *task) |
| ERR("readtty #%d - %s", errno, strerror(errno)); | ERR("readtty #%d - %s", errno, strerror(errno)); |
| case 0: | case 0: |
| /* exit from shell and release tty */ | /* exit from shell and release tty */ |
| /* | |
| waitpid(proc->proc_pid, &rlen, 0); | waitpid(proc->proc_pid, &rlen, 0); |
| ioFreePTY(TASK_FD(task), proc->proc_ttyname); | ioFreePTY(TASK_FD(task), proc->proc_ttyname); |
| schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); | schedCancelby(TASK_ROOT(task), NULL, CRITERIA_FD, (void*) TASK_FD(task), NULL); |
| Line 273 fdRx(sched_task_t *task) | Line 280 fdRx(sched_task_t *task) |
| proc->proc_rlen_[FD2NET] = 0; | proc->proc_rlen_[FD2NET] = 0; |
| schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); | schedWrite(TASK_ROOT(task), icmpTx, proc, proc->proc_sock); |
| */ | |
| return NULL; | return NULL; |
| default: | default: |
| proc->proc_flg = ANSH_FLG_OK; | proc->proc_flg = ANSH_FLG_OK; |