From 9ceebd544516908e67c0f0d92c7a5f484e12beeb Mon Sep 17 00:00:00 2001 From: Hye-Shik Chang Date: Sat, 24 Sep 2005 14:58:47 +0000 Subject: Patch #1288833: Removed thread lock from socket.getaddrinfo on FreeBSD 5.3 and later versions which got thread-safe getaddrinfo(3). (Reported by Maxim Sobolev) --- Misc/NEWS | 3 +++ Modules/socketmodule.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Misc/NEWS b/Misc/NEWS index 93c2ba0..00bd247 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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 +#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 -- cgit v0.12