diff options
| author | Alfred Perlstein <alfred@FreeBSD.org> | 2001-11-08 10:28:32 +0000 |
|---|---|---|
| committer | Alfred Perlstein <alfred@FreeBSD.org> | 2001-11-08 10:28:32 +0000 |
| commit | d25c683ad5b7bdbd33958cabcf63c8a9bbbd1e7d (patch) | |
| tree | 0d49d14c404c3a8a7b7a7faab9ff8c8097b5bb0e | |
| parent | ce17880650c885f827d45b3d783bffcb2ba5e198 (diff) | |
Notes
| -rw-r--r-- | sys/fs/fifofs/fifo_vnops.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c index baddfa4b5f75..e69532e99b36 100644 --- a/sys/fs/fifofs/fifo_vnops.c +++ b/sys/fs/fifofs/fifo_vnops.c @@ -284,6 +284,11 @@ fifo_read(ap) VOP_UNLOCK(ap->a_vp, 0, td); error = soreceive(rso, (struct sockaddr **)0, uio, (struct mbuf **)0, (struct mbuf **)0, (int *)0); + /* + * Clear EOF indication after first such return. + */ + if (uio->uio_resid == startresid) + rso->so_state &= ~SS_CANTRCVMORE; vn_lock(ap->a_vp, LK_EXCLUSIVE | LK_RETRY, td); if (ap->a_ioflag & IO_NDELAY) rso->so_state &= ~SS_NBIO; |
