|
Lines 1838-1852
client_input_channel_req(int type, u_int
Link Here
|
| 1838 |
chan_rcvd_eow(c); |
1838 |
chan_rcvd_eow(c); |
| 1839 |
} else if (strcmp(rtype, "exit-status") == 0) { |
1839 |
} else if (strcmp(rtype, "exit-status") == 0) { |
| 1840 |
exitval = packet_get_int(); |
1840 |
exitval = packet_get_int(); |
| 1841 |
if (id == session_ident) { |
1841 |
if (c->ctl_fd != -1) { |
|
|
1842 |
/* Dispatch to mux client */ |
| 1843 |
atomicio(vwrite, c->ctl_fd, &exitval, sizeof(exitval)); |
| 1844 |
success = 1; |
| 1845 |
} else if (id == session_ident) { |
| 1846 |
/* Record exit value of local session */ |
| 1842 |
success = 1; |
1847 |
success = 1; |
| 1843 |
exit_status = exitval; |
1848 |
exit_status = exitval; |
| 1844 |
} else if (c->ctl_fd == -1) { |
1849 |
} else { |
| 1845 |
error("client_input_channel_req: unexpected channel %d", |
1850 |
error("client_input_channel_req: unexpected channel %d", |
| 1846 |
session_ident); |
1851 |
session_ident); |
| 1847 |
} else { |
|
|
| 1848 |
atomicio(vwrite, c->ctl_fd, &exitval, sizeof(exitval)); |
| 1849 |
success = 1; |
| 1850 |
} |
1852 |
} |
| 1851 |
packet_check_eom(); |
1853 |
packet_check_eom(); |
| 1852 |
} |
1854 |
} |