UPGRADE_NSPR_RELEASE

--HG--
extra : amend_source : d550e98a0f62acae0b6321ca58ef0c82bb845010
This commit is contained in:
Kai Engert 2017-08-25 19:01:51 +02:00
Родитель a47b9a1026
Коммит 5f98c11330
11 изменённых файлов: 44 добавлений и 17 удалений

Просмотреть файл

@ -1 +1 @@
NSPR_4_16_RTM
NSPR_4_17_BETA1

Просмотреть файл

@ -10,4 +10,3 @@
*/
#error "Do not include this header file."

2
nsprpub/configure поставляемый
Просмотреть файл

@ -2488,7 +2488,7 @@ test -n "$target_alias" &&
program_prefix=${target_alias}-
MOD_MAJOR_VERSION=4
MOD_MINOR_VERSION=16
MOD_MINOR_VERSION=17
MOD_PATCH_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=

Просмотреть файл

@ -15,7 +15,7 @@ dnl ========================================================
dnl = Defaults
dnl ========================================================
MOD_MAJOR_VERSION=4
MOD_MINOR_VERSION=16
MOD_MINOR_VERSION=17
MOD_PATCH_VERSION=0
NSPR_MODNAME=nspr20
_HAVE_PTHREADS=

Просмотреть файл

@ -31,11 +31,11 @@ PR_BEGIN_EXTERN_C
** The format of the version string is
** "<major version>.<minor version>[.<patch level>] [<Beta>]"
*/
#define PR_VERSION "4.16"
#define PR_VERSION "4.17 Beta"
#define PR_VMAJOR 4
#define PR_VMINOR 16
#define PR_VMINOR 17
#define PR_VPATCH 0
#define PR_BETA PR_FALSE
#define PR_BETA PR_TRUE
/*
** PRVersionCheck

Просмотреть файл

@ -237,8 +237,9 @@ NSPR_API(PRStatus) PR_NT_CancelIo(PRFileDesc *fd);
#endif /* WIN32 */
/* FUNCTION: PR_FileDesc2PlatformOverlappedIOHandle
/* FUNCTION: PR_EXPERIMENTAL_ONLY_IN_4_17_GetOverlappedIOHandle
** DESCRIPTION:
** This function will be available only in nspr version 4.17
** This functionality is only available on windows. Some windows operation use
** asynchronous (call overlapped) io. One of them is ConnectEx. NSPR uses
** ConnectEx for enabling TCP Fast Open.
@ -248,7 +249,7 @@ NSPR_API(PRStatus) PR_NT_CancelIo(PRFileDesc *fd);
** PRFileDesc continues to be owner of the structure and the structure must not
** be destroyed.
*/
NSPR_API(PRStatus) PR_FileDesc2PlatformOverlappedIOHandle(PRFileDesc *fd, void **ol);
NSPR_API(PRStatus) PR_EXPERIMENTAL_ONLY_IN_4_17_GetOverlappedIOHandle(PRFileDesc *fd, void **ol);
PR_END_EXTERN_C

Просмотреть файл

@ -304,7 +304,25 @@ static PRStatus PR_CALLBACK SocketConnectContinue(
if (err != 0) {
_PR_MD_MAP_CONNECT_ERROR(err);
} else {
#if defined(_WIN64)
if (fd->secret->overlappedActive) {
PRInt32 rvSent;
if (GetOverlappedResult(osfd, &fd->secret->ol, &rvSent, FALSE) == FALSE) {
err = WSAGetLastError();
PR_LOG(_pr_io_lm, PR_LOG_MIN,
("SocketConnectContinue GetOverlappedResult failed %d\n", err));
if (err != ERROR_IO_INCOMPLETE) {
_PR_MD_MAP_CONNECT_ERROR(err);
fd->secret->overlappedActive = PR_FALSE;
}
}
}
if (err == 0) {
PR_SetError(PR_UNKNOWN_ERROR, 0);
}
#else
PR_SetError(PR_UNKNOWN_ERROR, 0);
#endif
}
return PR_FAILURE;
}
@ -1668,7 +1686,7 @@ PR_ChangeFileDescNativeHandle(PRFileDesc *fd, PROsfd handle)
/* Expose OVERLAPPED if present. OVERLAPPED is implemented only on WIN95. */
PR_IMPLEMENT(PRStatus)
PR_FileDesc2PlatformOverlappedIOHandle(PRFileDesc *fd, void **ol)
PR_EXPERIMENTAL_ONLY_IN_4_17_GetOverlappedIOHandle(PRFileDesc *fd, void **ol)
{
#if defined(_WIN64) && defined(WIN95)
*ol = NULL;

Просмотреть файл

@ -166,21 +166,26 @@ void _MD_win32_map_default_error(PRInt32 err)
prError = PR_ADDRESS_IN_USE_ERROR;
break;
case WSAEADDRNOTAVAIL:
case ERROR_INVALID_NETNAME:
prError = PR_ADDRESS_NOT_AVAILABLE_ERROR;
break;
case WSAEAFNOSUPPORT:
case ERROR_INCORRECT_ADDRESS:
prError = PR_ADDRESS_NOT_SUPPORTED_ERROR;
break;
case WSAEALREADY:
case ERROR_ALREADY_INITIALIZED:
prError = PR_ALREADY_INITIATED_ERROR;
break;
case WSAEBADF:
prError = PR_BAD_DESCRIPTOR_ERROR;
break;
case WSAECONNABORTED:
case ERROR_CONNECTION_ABORTED:
prError = PR_CONNECT_ABORTED_ERROR;
break;
case WSAECONNREFUSED:
case ERROR_CONNECTION_REFUSED:
prError = PR_CONNECT_REFUSED_ERROR;
break;
case WSAECONNRESET:
@ -193,6 +198,7 @@ void _MD_win32_map_default_error(PRInt32 err)
prError = PR_ACCESS_FAULT_ERROR;
break;
case WSAEHOSTUNREACH:
case ERROR_HOST_UNREACHABLE:
prError = PR_HOST_UNREACHABLE_ERROR;
break;
case WSAEINVAL:
@ -208,12 +214,14 @@ void _MD_win32_map_default_error(PRInt32 err)
prError = PR_BUFFER_OVERFLOW_ERROR;
break;
case WSAENETDOWN:
case ERROR_NO_NETWORK:
prError = PR_NETWORK_DOWN_ERROR;
break;
case WSAENETRESET:
prError = PR_CONNECT_ABORTED_ERROR;
break;
case WSAENETUNREACH:
case ERROR_NETWORK_UNREACHABLE:
prError = PR_NETWORK_UNREACHABLE_ERROR;
break;
case WSAENOBUFS:

Просмотреть файл

@ -462,7 +462,7 @@ EXPORTS ;-
PR_DuplicateEnvironment;
PR_GetEnvSecure;
;+} NSPR_4.10.3;
;+NSPR_4.16 {
;+NSPR_4.17 {
;+ global:
PR_FileDesc2PlatformOverlappedIOHandle;
;+} NSPR_4.15;
PR_EXPERIMENTAL_ONLY_IN_4_17_GetOverlappedIOHandle;
;+} NSPR_4.16;

Просмотреть файл

@ -4746,7 +4746,7 @@ PR_IMPLEMENT(PRInt32) PR_FileDesc2NativeHandle(PRFileDesc *bottom)
/* Expose OVERLAPPED if present. OVERLAPPED is implemented only on WIN95. */
PR_IMPLEMENT(PRStatus)
PR_FileDesc2PlatformOverlappedIOHandle(PRFileDesc *fd, void **ol)
PR_EXPERIMENTAL_ONLY_IN_4_17_GetOverlappedIOHandle(PRFileDesc *fd, void **ol)
{
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
return PR_FAILURE;

Просмотреть файл

@ -39,7 +39,8 @@ static char *compatible_version[] = {
"4.9.6",
"4.10", "4.10.1", "4.10.2", "4.10.3", "4.10.4",
"4.10.5", "4.10.6", "4.10.7", "4.10.8", "4.10.9",
"4.10.10", "4.11", "4.12", "4.13", "4.14", "4.15"
"4.10.10", "4.11", "4.12", "4.13", "4.14", "4.15",
"4.16",
PR_VERSION
};
@ -55,8 +56,8 @@ static char *incompatible_version[] = {
"3.0", "3.0.1",
"3.1", "3.1.1", "3.1.2", "3.1.3",
"3.5", "3.5.1",
"4.16.1",
"4.17", "4.17.1",
"4.17.1",
"4.18", "4.18.1",
"10.0", "11.1", "12.14.20"
};