On Fri, Sep 26, 2008 at 10:37:04AM +0200, =?ISO-8859-1?Q?G=FCrkan_Seng=FCn_ wrote: > links and links2 work perfectly on Debian GNU/Hurd, i just tried > links2 -g and it gave worked with http as well as https with no > problem
It works in graphical mode but not in text mode. > elinks is a different source than links and links2. ELinks has been forked from Links 0.96 and the core parts of Links2 and ELinks still are very similar. Compare e.g. kbd.c in Links with src/terminal/kbd.c in ELinks, select.c (Links) with src/main/select.c. Kalle's workaround[0] for this bug works for Links too, I put the diff for Links 2.2 at the end of this e-mail in case you want to include it in your package (if Kalle agrees). Cheers, Fabienne [0]http://repo.or.cz/w/elinks.git?a=commit;h=a0d624cd615702d041387b29d00f5128c900e567 --- select.c.bak 2008-10-30 18:10:47.000000000 +0100 +++ select.c 2008-10-30 18:15:25.000000000 +0100 @@ -5,6 +5,9 @@ */ #include "links.h" +#ifdef __GNU__ /* For GNU Hurd bug workaround in set_handlers() */ +#include <sys/stat.h> /* OS/2 needs this after sys/types.h */ +#endif /* #define DEBUG_CALLS @@ -216,6 +219,21 @@ internal("set_handlers: handle %d >= FD_SETSIZE %d", fd, FD_SETSIZE); return; } + #ifdef __GNU__ + /* GNU Hurd pflocal bug <http://savannah.gnu.org/bugs/?22861>: + * If ELinks does a select() where the initial exceptfds set + * includes a pipe that is not listed in the other fd_sets, + * then select() always reports an exception there. That + * makes Elinks think the pipe has failed and close it. + * To work around this bug, do not monitor exceptions for + * pipes on the Hurd. */ + if (error_func) { + struct stat st; + + if (fstat(fd, &st) == 0 && S_ISFIFO(st.st_mode)) + error_func = NULL; + } + #endif /* __GNU__ */ threads[fd].read_func = read_func; threads[fd].write_func = write_func; threads[fd].error_func = error_func; _______________________________________________ elinks-dev mailing list [email protected] http://linuxfromscratch.org/mailman/listinfo/elinks-dev
