From 05b8e6ba10756e5a9672bafcf7dedb1266a68bc9 Mon Sep 17 00:00:00 2001 From: Qball Cow Date: Mon, 10 Aug 2009 15:53:57 +0200 Subject: [PATCH] Don't use timeout on connect on solaris as it fails horrible --- src/libmpdclient.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/libmpdclient.c b/src/libmpdclient.c index 102cfec..f9898d9 100644 --- a/src/libmpdclient.c +++ b/src/libmpdclient.c @@ -112,6 +112,17 @@ static int do_connect_fail(mpd_Connection *connection, ioctlsocket(connection->sock, FIONBIO, (u_long FAR*) &iMode); return 0; } +#elif defined(__solaris__) || defined(__sun__) +static int do_connect_fail(mpd_Connection *connection, + const struct sockaddr *serv_addr, int addrlen) +{ + int flags; + if (connect(connection->sock, serv_addr, addrlen) < 0) + return 1; + flags = fcntl(connection->sock, F_GETFL, 0); + fcntl(connection->sock, F_SETFL, flags | O_NONBLOCK); + return 0; +} #else /* !WIN32 (sane operating systems) */ static int do_connect_fail(mpd_Connection *connection, const struct sockaddr *serv_addr, int addrlen) -- 2.11.4.GIT