summaryrefslogtreecommitdiff
path: root/src/fdevent.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2017-06-24 17:48:28 -0400
committerGlenn Strauss <gstrauss@gluelogic.com>2017-07-15 22:42:15 -0400
commit91d14acfc349b3d6032da840bd985617f65fdc49 (patch)
treef379b2e7d9867114306b53631e52e504a022089b /src/fdevent.c
parent143c6f34f52e08dbb9a7e39b2ff682bcdff55adc (diff)
downloadlighttpd-git-91d14acfc349b3d6032da840bd985617f65fdc49.tar.gz
[core] fdevent_connect_status() shared code
Diffstat (limited to 'src/fdevent.c')
-rw-r--r--src/fdevent.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/fdevent.c b/src/fdevent.c
index acbafe67..d9c24335 100644
--- a/src/fdevent.c
+++ b/src/fdevent.c
@@ -618,6 +618,15 @@ int fdevent_ioctl_fionread (int fd, int fdfmt, int *toread) {
}
+int fdevent_connect_status(int fd) {
+ /* try to finish the connect() */
+ /*(should be called after connect() only when fd is writable (POLLOUT))*/
+ int opt;
+ socklen_t len = sizeof(opt);
+ return (0 == getsockopt(fd,SOL_SOCKET,SO_ERROR,&opt,&len)) ? opt : errno;
+}
+
+
#include <netinet/tcp.h>
#if (defined(__APPLE__) && defined(__MACH__)) \
|| defined(__FreeBSD__) || defined(__NetBSD__) \