|
|
We do it, badly, in many places. Better to use one robust implementation.
Can be buggy yet.
Initial use is in a rather old, rarely used tech: telnet.
The I/O in telnetd should be fully non-blocking now,
including pty delays handling.
Several bugs in telnetd handling of IACs are fixed.
function old new delta
ioloop_run - 411 +411
net_to_pty__have_data_to_write - 368 +368
pty_to_net__write - 318 +318
net_to_pty__write - 180 +180
pty_to_net__read - 171 +171
net_to_pty__have_buffer_to_read_into - 164 +164
pty_to_net__have_buffer_to_read_into - 90 +90
net_to_pty__read - 87 +87
pty_to_net__have_data_to_write - 59 +59
make_new_session 491 550 +59
conn_close_fds - 52 +52
accept_conn__accept - 49 +49
conn_close_fds_remove_and_free - 27 +27
ioloop_remove_conn - 22 +22
remove_and_free_to_pty - 19 +19
ioloop_insert_conn - 10 +10
accept_conn__can_accept - 6 +6
accept_conn__return_zero - 3 +3
static.ayt_response - 2 +2
handle_sigchld 59 61 +2
free_session 130 - -130
telnetd_main 1797 367 -1430
------------------------------------------------------------------------------
(add/remove: 19/1 grow/shrink: 2/1 up/down: 2099/-1560) Total: 539 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|