diff options
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/socketmodule.c | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -149,6 +149,9 @@ present). Extension Modules ----------------- +- Patch #1288833: Removed thread lock from socket.getaddrinfo on + FreeBSD 5.3 and later versions which got thread-safe getaddrinfo(3). + - Patches #1298449 and #1298499: Add some missing checks for error returns in cStringIO.c. diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 4c0a0fc..e3573e3 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -140,9 +140,14 @@ shutdown(how) -- shut down traffic in one or both directions\n\ # define USE_GETHOSTBYNAME_LOCK #endif +/* To use __FreeBSD_version */ +#ifdef HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif /* On systems on which getaddrinfo() is believed to not be thread-safe, (this includes the getaddrinfo emulation) protect access with a lock. */ -#if defined(WITH_THREAD) && (defined(__APPLE__) || defined(__FreeBSD__) || \ +#if defined(WITH_THREAD) && (defined(__APPLE__) || \ + (defined(__FreeBSD__) && __FreeBSD_version+0 < 503000) || \ defined(__OpenBSD__) || defined(__NetBSD__) || !defined(HAVE_GETADDRINFO)) #define USE_GETADDRINFO_LOCK #endif |