]> Zhao Yanbai Git Server - minix.git/commitdiff
INET: remove erroneous assert
authorThomas Veerman <thomas@minix3.org>
Mon, 30 Jan 2012 15:14:19 +0000 (15:14 +0000)
committerThomas Veerman <thomas@minix3.org>
Mon, 30 Jan 2012 16:09:08 +0000 (16:09 +0000)
The queue may contain established connections which have
tc_connInprogress clear.

servers/inet/generic/tcp_send.c

index e63cf368cc7e3067b430c895917c075b557e13e4..ec0fcaabf5ebef4a24c934c206a10a677fb2c73b 100644 (file)
@@ -1322,6 +1322,11 @@ int error;
        tcp_conn->tc_state= TCS_CLOSED;
        DBLOCK(0x10, tcp_print_state(tcp_conn); printf("\n"));
 
+       if (tcp_fd) {
+               assert(!tcp_conn->tc_connInprogress ||
+                                       (tcp_fd->tf_flags & TFF_LISTENQ));
+       }
+
        if (tcp_fd && (tcp_fd->tf_flags & TFF_LISTENQ))
        {
                for (i= 0; i<TFL_LISTEN_MAX; i++)
@@ -1332,7 +1337,6 @@ int error;
                assert(i < TFL_LISTEN_MAX);
                tcp_fd->tf_listenq[i]= NULL;
 
-               assert(tcp_conn->tc_connInprogress);
                tcp_conn->tc_connInprogress= 0;
 
                tcp_conn->tc_fd= NULL;
@@ -1368,7 +1372,6 @@ int error;
 
                if (tcp_conn->tc_connInprogress)
                        tcp_restart_connect(tcp_conn);
-               assert (!tcp_conn->tc_connInprogress);
                assert (!(tcp_fd->tf_flags & TFF_IOCTL_IP) ||
                        (printf("req= 0x%lx\n",
                        (unsigned long)tcp_fd->tf_ioreq), 0));