Subject: Re: CVS commit: syssrc/sys/kern
To: None <source-changes@netbsd.org>
From: Jaromír <jdolecek@netbsd.org>
List: source-changes
Date: 06/21/2001 20:49:29
Forgot one more:

Add missing wakeup(9) in pipe_write() for PIPE_WANTCLOSE case.

Jaromir Dolecek wrote:
> 
> Module Name:	syssrc
> Committed By:	jdolecek
> Date:		Thu Jun 21 18:46:22 UTC 2001
> 
> Modified Files:
> 	syssrc/sys/kern: sys_pipe.c
> 
> Log Message:
> Oops, fell into rpipe/wpipe trap:
> The end we want to do selwakeup() on is not necessarily same as the one
> we send SIGIO to. Make pipeselwakeup() accept two parameters and update
> callers accordingly. This change fixes behaviour for code, which does
> select(2)s on the write end waiting for reader (watched on gv, the problem
> manifestated itself as a too long delay before the document was displayed).
> 
> Clearly separate the resource free code for FreeBSD
> and NetBSD case in pipeclose(), so that it's a bit clearer what's going on.
> Also LK_DRAIN the lock before the memory is returned to pipe_pool.
> 
> 
> To generate a diff of this commit:
> cvs rdiff -r1.2 -r1.3 syssrc/sys/kern/sys_pipe.c
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
> 


-- 
Jaromir Dolecek <jdolecek@NetBSD.org>      http://www.ics.muni.cz/~dolecek/
NetBSD - just plain best OS! -=*=- Got spare MCA cards or docs? Hand me them!