CLEANUP: tcp: make use of sock_accept_conn() where relevant

This allows to get rid of two getsockopt(SO_ACCEPTCONN).
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index fbc99c9..2b5367b 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -570,7 +570,6 @@
 {
 	int fd, err;
 	int ready;
-	socklen_t ready_len;
 	char *msg = NULL;
 
 	err = ERR_NONE;
@@ -678,10 +677,8 @@
 		}
 	}
 #endif
-	ready = 0;
-	ready_len = sizeof(ready);
-	if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &ready, &ready_len) == -1)
-		ready = 0;
+
+	ready = sock_accept_conn(&listener->rx) > 0;
 
 	if (!ready && /* only listen if not already done by external process */
 	    listen(fd, listener_backlog(listener)) == -1) {
@@ -772,8 +769,8 @@
  */
 static int tcp_suspend_receiver(struct receiver *rx)
 {
-	socklen_t opt_val, opt_len;
 	struct sockaddr sa;
+	int ret;
 
 	sa.sa_family = AF_UNSPEC;
 	if (connect(rx->fd, &sa, sizeof(sa)) < 0)
@@ -787,19 +784,14 @@
 	 * dealing with a socket that is shared with other processes doing the
 	 * same. Let's check if it's still accepting connections.
 	 */
-	opt_val = 0;
-	opt_len = sizeof(opt_val);
-	if (getsockopt(rx->fd, SOL_SOCKET, SO_ACCEPTCONN, &opt_val, &opt_len) == -1) {
-		fd_stop_recv(rx->fd);
-		return 0; /* the socket is really unrecoverable */
-	}
-
-	if (!opt_val) {
+	ret = sock_accept_conn(rx);
+	if (ret <= 0) {
+		/* unrecoverable or paused by another process */
 		fd_stop_recv(rx->fd);
-		return 1; /* already paused by another process */
+		return ret == 0;
 	}
 
-	/* something looks fishy here */
+	/* still listening, that's not good */
 	return -1;
 }