From: Philip Homburg Date: Mon, 20 Feb 2006 14:35:01 +0000 (+0000) Subject: Fixed bug in canceling TCP ioctls before INET got an IP address. X-Git-Tag: v3.1.2a~329 X-Git-Url: http://zhaoyanbai.com/repos/%22/xml/v3/mem/static/gitweb.css?a=commitdiff_plain;h=1d78f4a2036168ee68c9572628382bbcd24eef29;p=minix.git Fixed bug in canceling TCP ioctls before INET got an IP address. --- diff --git a/servers/inet/generic/tcp.c b/servers/inet/generic/tcp.c index 04b888ece..20f8db01d 100644 --- a/servers/inet/generic/tcp.c +++ b/servers/inet/generic/tcp.c @@ -1308,6 +1308,7 @@ int reply; int for_ioctl; { acc_t *result; + result= (*tcp_fd->tf_get_userdata)(tcp_fd->tf_srfd, reply, (size_t)0, for_ioctl); assert (!result); @@ -2027,6 +2028,13 @@ int which_operation; assert (tcp_fd->tf_flags & TFF_IOCTL_IP); tcp_fd->tf_flags &= ~TFF_IOCTL_IP; + if (tcp_fd->tf_flags & TFF_IOC_INIT_SP) + { + tcp_fd->tf_flags &= ~TFF_IOC_INIT_SP; + reply_thr_put (tcp_fd, EINTR, TRUE); + break; + } + switch (tcp_fd->tf_ioreq) { case NWIOGTCPCONF: