diff options
Diffstat (limited to '')
-rw-r--r-- | lang/modula-3-socks/files/select.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/modula-3-socks/files/select.c b/lang/modula-3-socks/files/select.c new file mode 100644 index 000000000000..a3602472ce7a --- /dev/null +++ b/lang/modula-3-socks/files/select.c @@ -0,0 +1,20 @@ +#include "wrap.h" +#include <sys/types.h> +#include <sys/time.h> +#include <unistd.h> + +int +m3_select(int nfds, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *timeout) +{ + int result; + + ENTER_CRITICAL; + MAKE_WRITABLE(readfds); + MAKE_WRITABLE(writefds); + MAKE_WRITABLE(exceptfds); + MAKE_READABLE(timeout); + result = select(nfds, readfds, writefds, exceptfds, timeout); + EXIT_CRITICAL; + return result; +} |