--- server/mpm/winnt/child.c (revision 1371377) +++ server/mpm/winnt/child.c (working copy) @@ -832,6 +832,20 @@ } } +#define TO_PEEK 1 + if (TO_PEEK > 0 && + (context->overlapped.Pointer == NULL) && + (context->accept_socket != INVALID_SOCKET)) { + char buffer[TO_PEEK]; + + rc = recv(context->accept_socket, buffer, TO_PEEK, MSG_PEEK); + if (rc == SOCKET_ERROR) { + ap_log_error(APLOG_MARK, APLOG_ERR, apr_get_netos_error(), + ap_server_conf, + "worker_main: recv(MSG_PEEK) error"); + } + } + e = context->overlapped.Pointer; ap_create_sb_handle(&sbh, context->ptrans, 0, thread_num);