diff options
author | Glenn Strauss <gstrauss@gluelogic.com> | 2017-06-24 17:48:28 -0400 |
---|---|---|
committer | Glenn Strauss <gstrauss@gluelogic.com> | 2017-07-15 22:42:15 -0400 |
commit | 91d14acfc349b3d6032da840bd985617f65fdc49 (patch) | |
tree | f379b2e7d9867114306b53631e52e504a022089b /src/fdevent.c | |
parent | 143c6f34f52e08dbb9a7e39b2ff682bcdff55adc (diff) | |
download | lighttpd-git-91d14acfc349b3d6032da840bd985617f65fdc49.tar.gz |
[core] fdevent_connect_status() shared code
Diffstat (limited to 'src/fdevent.c')
-rw-r--r-- | src/fdevent.c | 9 |
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__) \ |