From c068f535fe8e3b37f0537793a7de4137e319eea9 Mon Sep 17 00:00:00 2001 From: "sfraser%netscape.com" Date: Tue, 19 Feb 2002 01:10:06 +0000 Subject: [PATCH] Fix for bug 121952 -- make PR_ConnectContinue work on Mac, re-enabling non-blocking connects. r=wtc git-svn-id: svn://10.0.0.236/trunk@114854 18797224-902f-48f8-a5cc-f745e15eee43 --- .../security/manager/ssl/src/nsNSSIOLayer.cpp | 34 +------------------ 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp b/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp index a3c3a7b2665..8f887c7a094 100644 --- a/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp +++ b/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp @@ -800,36 +800,14 @@ nsSSLIOLayerConnect(PRFileDesc* fd, const PRNetAddr* addr, return PR_FAILURE; PRStatus status = PR_SUCCESS; - -#ifdef XP_MAC // bug 106188 - // Due to a bug in PR_Poll on Mac, we must execute this entire connect - // as a blocking operation. - - PRSocketOptionData sockopt; - sockopt.option = PR_SockOpt_Nonblocking; - PR_GetSocketOption(fd, &sockopt); - PRBool oldBlockVal = sockopt.value.non_blocking; - sockopt.option = PR_SockOpt_Nonblocking; - sockopt.value.non_blocking = PR_FALSE; - PR_SetSocketOption(fd, &sockopt); -#endif nsNSSSocketInfo *infoObject = (nsNSSSocketInfo*)fd->secret; - status = fd->lower->methods->connect(fd->lower, addr, -#ifdef XP_MAC // bug 106188 - PR_INTERVAL_NO_TIMEOUT); -#else - timeout); -#endif + status = fd->lower->methods->connect(fd->lower, addr, timeout); if (status != PR_SUCCESS) { PR_LOG(gPIPNSSLog, PR_LOG_ERROR, ("[%p] Lower layer connect error: %d\n", (void*)fd, PR_GetError())); -#ifdef XP_MAC // bug 106188 - goto loser; -#else return status; -#endif } PRBool forceHandshake, forTLSStepUp; @@ -850,16 +828,6 @@ nsSSLIOLayerConnect(PRFileDesc* fd, const PRNetAddr* addr, } } -#ifdef XP_MAC // bug 106188 - loser: - // We put the Nonblocking bit back to the value it was when - // we entered this function. - NS_ASSERTION(sockopt.option == PR_SockOpt_Nonblocking, - "sockopt.option was re-set to an unexpected value"); - sockopt.value.non_blocking = oldBlockVal; - PR_SetSocketOption(fd, &sockopt); -#endif - return status; }