[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The Links/Links2/ELinks browsers are unusable on Debian GNU/Hurd

Le Wed, 19 Dec 2007 00:44:46 +0100, Fabienne Ducroquet
<fabiduc@gmail.com> 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)
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.


Reply to: