diff --git a/mozilla/nsprpub/pr/src/io/prfile.c b/mozilla/nsprpub/pr/src/io/prfile.c index 54d0f5587e8..173cec21288 100644 --- a/mozilla/nsprpub/pr/src/io/prfile.c +++ b/mozilla/nsprpub/pr/src/io/prfile.c @@ -410,6 +410,8 @@ PR_IMPLEMENT(PRFileDesc*) PR_ImportFile(PRInt32 osfd) { PRFileDesc *fd = NULL; + if (!_pr_initialized) _PR_ImplicitInitialization(); + fd = PR_AllocFileDesc(osfd, &_pr_fileMethods); if( !fd ) { (void) _PR_MD_CLOSE_FILE(osfd); diff --git a/mozilla/nsprpub/pr/src/io/prsocket.c b/mozilla/nsprpub/pr/src/io/prsocket.c index de6546c00b0..e93e0ec27fa 100644 --- a/mozilla/nsprpub/pr/src/io/prsocket.c +++ b/mozilla/nsprpub/pr/src/io/prsocket.c @@ -167,6 +167,7 @@ PR_IMPLEMENT(PRFileDesc *) PR_ImportTCPSocket(PRInt32 osfd) { PRFileDesc *fd; + if (!_pr_initialized) _PR_ImplicitInitialization(); fd = PR_AllocFileDesc(osfd, PR_GetTCPMethods()); if (fd != NULL) _PR_MD_MAKE_NONBLOCK(fd); @@ -179,6 +180,7 @@ PR_IMPLEMENT(PRFileDesc *) PR_ImportUDPSocket(PRInt32 osfd) { PRFileDesc *fd; + if (!_pr_initialized) _PR_ImplicitInitialization(); fd = PR_AllocFileDesc(osfd, PR_GetUDPMethods()); if (fd != NULL) _PR_MD_MAKE_NONBLOCK(fd); diff --git a/mozilla/nsprpub/pr/src/pthreads/ptio.c b/mozilla/nsprpub/pr/src/pthreads/ptio.c index 658e0819218..c6bd63be86a 100644 --- a/mozilla/nsprpub/pr/src/pthreads/ptio.c +++ b/mozilla/nsprpub/pr/src/pthreads/ptio.c @@ -3281,21 +3281,30 @@ PR_IMPLEMENT(PRStatus) PR_SetFDInheritable( PR_IMPLEMENT(PRFileDesc*) PR_ImportFile(PRInt32 osfd) { - PRFileDesc *fd = pt_SetMethods(osfd, PR_DESC_FILE); + PRFileDesc *fd; + + if (!_pr_initialized) _PR_ImplicitInitialization(); + fd = pt_SetMethods(osfd, PR_DESC_FILE); if (NULL == fd) close(osfd); return fd; } /* PR_ImportFile */ PR_IMPLEMENT(PRFileDesc*) PR_ImportTCPSocket(PRInt32 osfd) { - PRFileDesc *fd = pt_SetMethods(osfd, PR_DESC_SOCKET_TCP); + PRFileDesc *fd; + + if (!_pr_initialized) _PR_ImplicitInitialization(); + fd = pt_SetMethods(osfd, PR_DESC_SOCKET_TCP); if (NULL == fd) close(osfd); return fd; } /* PR_ImportTCPSocket */ PR_IMPLEMENT(PRFileDesc*) PR_ImportUDPSocket(PRInt32 osfd) { - PRFileDesc *fd = pt_SetMethods(osfd, PR_DESC_SOCKET_UDP); + PRFileDesc *fd; + + if (!_pr_initialized) _PR_ImplicitInitialization(); + fd = pt_SetMethods(osfd, PR_DESC_SOCKET_UDP); if (NULL != fd) close(osfd); return fd; } /* PR_ImportUDPSocket */