getsockopt (fd, SOL_SOCKET, SO_ERROR, (char *) &errno, &len);
#endif
goto sys_error;
+ } else {
+#ifdef __APPLE__
+ /* osx wakes up select with POLLOUT if the connection is refused... */
+ socklen_t len = sizeof (errno);
+ getsockopt (fd, SOL_SOCKET, SO_ERROR, (char *) &errno, &len);
+ if (errno != 0)
+ goto sys_error;
+#endif
}
gst_poll_fd_ignored (fdset, fdout);
if (gst_poll_fd_has_error (conn->fdset, conn->writefd))
goto socket_error;
- gst_poll_set_controllable (conn->fdset, FALSE);
+ /* once we start reading the wait cannot be controlled */
+ if (builder.state != STATE_START)
+ gst_poll_set_controllable (conn->fdset, FALSE);
}
/* we have a message here */