Use internal __fds_bit variable on Linux, this doesn't seem great.
authorPeter Howkins <flibble@users.sourceforge.net>
Sun, 11 Mar 2012 16:05:20 +0000 (16:05 +0000)
committerPeter Howkins <flibble@users.sourceforge.net>
Sun, 11 Mar 2012 16:05:20 +0000 (16:05 +0000)
cde/lib/csa/agent.c

index a48dab4932952b3a029b59c1459d96aab6315b90..1fe9b833632d2bec426748a171cfb020700fb97b 100644 (file)
@@ -215,7 +215,11 @@ _DtCm_process_updates()
                rpc_bits = svc_fdset;
 
                /* convert to pollfd structure */
+#if defined(linux)
+               inbits = rpc_bits.__fds_bits;
+#else
                inbits = rpc_bits.fds_bits;
+#endif
                p = pfd;
                for (i = 0; i < FD_SETSIZE; i += NFDBITS) {
                        fmask = *inbits;
@@ -249,7 +253,11 @@ _DtCm_process_updates()
                for (p = pfd; i-- > 0; p++) {
                        j = p->fd / NFDBITS;
                        if (j != last) {
+#if defined(linux)
+                               inbits = &rpc_bits.__fds_bits[j];
+#else
                                inbits = &rpc_bits.fds_bits[j];
+#endif
                                last = j;
                        }
                        if (p->revents & POLLIN) {