From 1d78f4a2036168ee68c9572628382bbcd24eef29 Mon Sep 17 00:00:00 2001 From: Philip Homburg Date: Mon, 20 Feb 2006 14:35:01 +0000 Subject: [PATCH] Fixed bug in canceling TCP ioctls before INET got an IP address. --- servers/inet/generic/tcp.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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: -- 2.44.0