diff -ur links-2.1pre33.orig/connect.c links-2.1pre33/connect.c
--- links-2.1pre33.orig/connect.c	2007-12-25 01:33:44.000000000 +0300
+++ links-2.1pre33/connect.c	2008-04-24 23:43:06.000000000 +0400
@@ -303,7 +303,11 @@
 			goto bla;
 		}
 	if (err >= 10000) err -= 10000;	/* Why does EMX return so large values? */
+#ifdef __DJGPP__
+	if (err > 0 && err != EISCONN) {
+#else
 	if (err > 0) {
+#endif
 		bla:
 		setcstate(c, -err);
 		retry_connection(c);
