Le Wed, 19 Dec 2007 00:44:46 +0100, Fabienne Ducroquet <[EMAIL PROTECTED]> a écrit : > and more precisely, that seems to happen after > set_handlers has been called with read_func = 0, write_func = 0 and > error_func = &free_itrm (or &free_trm). After that, all the calls to
I think that this is normal (that the error happens before that). In ELinks, I've found something anormal during the execution of itrm_queue_event on Hurd: it jumps from line 116 if (!itrm->out.queue.len && can_write(itrm->out.sock)) { to line 119 (which is inside the if) without executing lines 117-118 w = safe_write(itrm->out.sock, data, len); if (w <= 0 && HPUX_PIPE) { Then it executes lines 124-141 as w is still 0 whereas it should have been modified at line 117. In Links 1.00pre20 there is something similar during the execution of queue_event (in kbd.c): after the test line 69 if (!itrm->eqlen && can_write(itrm->sock_out) && (w = write(itrm->sock_out, data, len)) <= 0) { it jumps to line 72 (inside the if) return; without executing line 71, and then the execution of the function continues line 74 to 80 as w is still 0. I don't know whether the command w = write(...) in the test is executed or not. -- Fabienne _______________________________________________ elinks-dev mailing list elinks-dev@linuxfromscratch.org http://linuxfromscratch.org/mailman/listinfo/elinks-dev