From: Grigory Vasilyev <h0tc0d3(a)gmail.com> --- dlls/ws2_32/unixlib.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/ws2_32/unixlib.c b/dlls/ws2_32/unixlib.c index e0e1263e025..c71787857eb 100644 --- a/dlls/ws2_32/unixlib.c +++ b/dlls/ws2_32/unixlib.c @@ -98,6 +98,7 @@ #include "ws2tcpip.h" #include "wsipx.h" #include "af_irda.h" +#include "wine/mutex.h" #include "wine/debug.h" #include "ws2_32_private.h" @@ -106,7 +107,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(winsock); WINE_DECLARE_DEBUG_CHANNEL(winediag); #ifndef HAVE_LINUX_GETHOSTBYNAME_R_6 -static pthread_mutex_t host_mutex = PTHREAD_MUTEX_INITIALIZER; +static WINE_MUTEX_TYPE host_mutex = WINE_MUTEX_INIT; #endif #define MAP(x) {WS_ ## x, x} @@ -923,18 +924,18 @@ static NTSTATUS unix_gethostbyaddr( void *args ) return ret; } #else - pthread_mutex_lock( &host_mutex ); + WINE_MUTEX_LOCK( &host_mutex ); if (!(unix_host = gethostbyaddr( addr, params->len, unix_family ))) { ret = (h_errno < 0 ? errno_from_unix( errno ) : host_errno_from_unix( h_errno )); - pthread_mutex_unlock( &host_mutex ); + WINE_MUTEX_UNLOCK( &host_mutex ); return ret; } ret = hostent_from_unix( unix_host, params->host, params->size ); - pthread_mutex_unlock( &host_mutex ); + WINE_MUTEX_UNLOCK( &host_mutex ); return ret; #endif } @@ -1022,19 +1023,19 @@ static NTSTATUS unix_gethostbyname( void *args ) struct hostent *unix_host; int ret; - pthread_mutex_lock( &host_mutex ); + WINE_MUTEX_LOCK( &host_mutex ); if (!(unix_host = gethostbyname( params->name ))) { ret = (h_errno < 0 ? errno_from_unix( errno ) : host_errno_from_unix( h_errno )); - pthread_mutex_unlock( &host_mutex ); + WINE_MUTEX_UNLOCK( &host_mutex ); return ret; } sort_addrs_hashed( unix_host ); ret = hostent_from_unix( unix_host, params->host, params->size ); - pthread_mutex_unlock( &host_mutex ); + WINE_MUTEX_UNLOCK( &host_mutex ); return ret; } #endif -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6031