summaryrefslogtreecommitdiff
path: root/app/xfs/os/io.c
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2010-10-31 19:35:20 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2010-10-31 19:35:20 +0000
commitfdf2aa9d72d98f765c4e3cb1ec47778e4bcb5c0b (patch)
tree50a73046dda0f7b326da4660924910e25c1a8047 /app/xfs/os/io.c
parent9dd81277ed81d2e7f175824df8b84e541f11e9e2 (diff)
Update to xfs 1.1.1
Diffstat (limited to 'app/xfs/os/io.c')
-rw-r--r--app/xfs/os/io.c5
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)