Module Name: src Committed By: dsl Date: Tue Dec 15 18:35:18 UTC 2009
Modified Files: src/sys/kern: sys_pipe.c Log Message: Don't ERESTART write() calls for now. I suspect some programs don't allow for the partial transfer. To generate a diff of this commit: cvs rdiff -u -r1.125 -r1.126 src/sys/kern/sys_pipe.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/sys_pipe.c diff -u src/sys/kern/sys_pipe.c:1.125 src/sys/kern/sys_pipe.c:1.126 --- src/sys/kern/sys_pipe.c:1.125 Sun Dec 13 20:02:23 2009 +++ src/sys/kern/sys_pipe.c Tue Dec 15 18:35:18 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: sys_pipe.c,v 1.125 2009/12/13 20:02:23 dsl Exp $ */ +/* $NetBSD: sys_pipe.c,v 1.126 2009/12/15 18:35:18 dsl Exp $ */ /*- * Copyright (c) 2003, 2007, 2008, 2009 The NetBSD Foundation, Inc. @@ -68,7 +68,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sys_pipe.c,v 1.125 2009/12/13 20:02:23 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sys_pipe.c,v 1.126 2009/12/15 18:35:18 dsl Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -997,10 +997,12 @@ if (bp->cnt) pipeselwakeup(wpipe, wpipe, POLL_IN); +#if 0 /* I think some programs don't like the partial write... */ if (slept) { error = ERESTART; break; } +#endif pipeunlock(wpipe); error = cv_wait_sig(&wpipe->pipe_wcv, lock);