]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blobdiff - lib/tlsproxyhelper.c
tlsproxyhelper.c: Split POLLERR and POLLHUP check.
[tlsproxy/tlsproxy.git] / lib / tlsproxyhelper.c
index 529dc55d922a39c5287fce0b94ebb7fd21aee2ea..53dc9e8e0b9b4e81cc38c2abb1e66d5aa38d7b9c 100644 (file)
@@ -185,7 +185,7 @@ int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen) {
             return -1;
         }
         if (optval != 0) {
-            fprintf(stderr, LOG_PREFIX "connect() failed (SO_ERROR)");
+            fprintf(stderr, LOG_PREFIX "connect() failed (SO_ERROR)\n");
             errno = EINVAL;
             return -1;
         }
@@ -272,8 +272,12 @@ static int poll_for(int sockfd, int mode) {
         return -1;
     }
 
-    if (fds[0].revents & POLLERR || fds[0].revents & POLLHUP) {
-        fprintf(stderr, LOG_PREFIX "poll(): POLLERR | POLLHUP\n");
+    if (fds[0].revents & POLLERR) {
+        fprintf(stderr, LOG_PREFIX "poll(): POLLERR\n");
+        return -1;
+    }
+    if (fds[0].revents & POLLHUP) {
+        fprintf(stderr, LOG_PREFIX "poll(): POLLHUP\n");
         return -1;
     }