From cfb450c3fc281a9d1c23ba62e49ffcf37da81669 Mon Sep 17 00:00:00 2001 From: Jan Vidar Krey Date: Thu, 6 Aug 2009 23:28:44 +0200 Subject: [PATCH] Added net_set_nonblocking for Solaris. --- src/network/network.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/network/network.c b/src/network/network.c index 4615388..312fb3b 100644 --- a/src/network/network.c +++ b/src/network/network.c @@ -182,8 +182,18 @@ int net_set_nonblocking(int fd, int toggle) #ifdef WINSOCK u_long on = toggle ? 1 : 0; ret = ioctlsocket(fd, FIONBIO, &on); +#else +#ifdef __sun__ + int flags = fcntl(fd, F_GETFL, 0); + if (flags != -1) + { + if (toggle) flags |= O_NONBLOCK; + else flags &= ~O_NONBLOCK; + ret = fcntl(fd, F_SETFL, flags); + } #else ret = ioctl(fd, FIONBIO, &toggle); +#endif #endif if (ret == -1) {