X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FIO%2Fpoll.c;h=9d39d57f2f6230ce670232bff9edca5003b79628;hb=c5cb1db4779e061c5d9179a8fdbb794afe0c22a9;hp=0f8c8434f26d3cc03469606df22007a86954d8fd;hpb=465a6d9ae5ab40b1ce4df1a9bfec4f9247dd9272;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/IO/poll.c b/ext/IO/poll.c index 0f8c843..9d39d57 100644 --- a/ext/IO/poll.c +++ b/ext/IO/poll.c @@ -5,13 +5,15 @@ * This program is free software; you can redistribute it and/or * modify it under the same terms as Perl itself. * - * For systems that do not have the poll() system call (for example Linux) - * try to emulate it as closely as possible using select() + * For systems that do not have the poll() system call (for example Linux + * kernels < v2.1.23) try to emulate it as closely as possible using select() * */ #include "EXTERN.h" #include "perl.h" +#include "XSUB.h" + #include "poll.h" #ifdef I_SYS_TIME # include @@ -20,7 +22,7 @@ # include #endif #include -#if defined(HAS_SOCKET) && !defined(VMS) /* VMS handles sockets via vmsish.h */ +#if defined(HAS_SOCKET) && !defined(VMS) && !defined(ultrix) /* VMS handles sockets via vmsish.h, ULTRIX dies of socket struct redefinitions */ # include #endif #include @@ -58,7 +60,7 @@ again: FD_ZERO(&wfd); FD_ZERO(&efd); - for(i = 0 ; i < nfds ; i++) { + for(i = 0 ; i < (int)nfds ; i++) { int events = fds[i].events; int fd = fds[i].fd; @@ -105,7 +107,7 @@ again: count = 0; - for(i = 0 ; i < nfds ; i++) { + for(i = 0 ; i < (int)nfds ; i++) { int revents = (fds[i].events & POLL_EVENTS_MASK); int fd = fds[i].fd; @@ -133,3 +135,12 @@ again: } #endif /* EMULATE_POLL_WITH_SELECT */ + +/* gcc for SunOS 4 produces code from an empty (code/symbolwise) + * source code file that makes the SunOS 4.x /usr/bin/ld fail with + * ld: poll.o: premature EOF + * To avoid this, have at least something in here. */ +#if defined(__sun) && !defined(__SVR4) && defined(__GNUC__) +static int dummy; +#endif +