diff -up cups-1.3.9/scheduler/client.c.str2988 cups-1.3.9/scheduler/client.c
--- cups-1.3.9/scheduler/client.c.str2988 2008-09-17 01:42:56.000000000 +0100
+++ cups-1.3.9/scheduler/client.c 2008-11-13 10:09:05.000000000 +0000
@@ -1011,6 +1011,15 @@ cupsdReadClient(cupsd_client_t *con) /*
break;
default :
+ if (!data_ready(con) && recv(con->http.fd, buf, 1, MSG_PEEK) < 1)
+ {
+ /*
+ * Connection closed...
+ */
+
+ cupsdCloseClient(con);
+ return;
+ }
break; /* Anti-compiler-warning-code */
}