diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2010-10-31 19:35:20 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2010-10-31 19:35:20 +0000 |
commit | fdf2aa9d72d98f765c4e3cb1ec47778e4bcb5c0b (patch) | |
tree | 50a73046dda0f7b326da4660924910e25c1a8047 /app/xfs/os/io.c | |
parent | 9dd81277ed81d2e7f175824df8b84e541f11e9e2 (diff) |
Update to xfs 1.1.1
Diffstat (limited to 'app/xfs/os/io.c')
-rw-r--r-- | app/xfs/os/io.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/app/xfs/os/io.c b/app/xfs/os/io.c index 13c7fe47e..8d9659ab1 100644 --- a/app/xfs/os/io.c +++ b/app/xfs/os/io.c @@ -86,6 +86,7 @@ static ConnectionInputPtr FreeInputs = (ConnectionInputPtr) NULL; static ConnectionOutputPtr FreeOutputs = (ConnectionOutputPtr) NULL; static OsCommPtr AvailableInput = (OsCommPtr) NULL; +extern int xfd_ffs(fd_mask); static ConnectionInputPtr AllocateInputBuffer(void); static ConnectionOutputPtr AllocateOutputBuffer(void); @@ -524,9 +525,9 @@ FlushAllOutput(void) mask = OutputPending.fds_bits[base]; OutputPending.fds_bits[base] = 0; while (mask) { - index = ffs(mask) - 1; + index = xfd_ffs(mask) - 1; mask &= ~lowbit(mask); - if ((index = ConnectionTranslation[(base << 5) + index]) == 0) + if ((index = ConnectionTranslation[(base * (sizeof(fd_mask) * 8)) + index]) == 0) continue; client = clients[index]; if (client->clientGone == CLIENT_GONE) |