- char serv[7];
- int err;
- struct addrinfo hints, *res, *sai;
-
- memset( &hints, '\0', sizeof(hints) );
- hints.ai_family = ldap_int_inet4or6;
- hints.ai_socktype = socktype;
-
- snprintf(serv, sizeof serv, "%d", port );
- if ( ( err = getaddrinfo(host, serv, &hints, &res) ) ) {
- osip_debug(ld, "ldap_connect_to_host: getaddrinfo failed: %s\n",
- AC_GAI_STRERROR(err), 0, 0);
- return -1;
- }
- rc = -1;
+ memset( &hints, '\0', sizeof(hints) );
+ hints.ai_family = ldap_int_inet4or6;
+ hints.ai_socktype = socktype;
+ snprintf(serv, sizeof serv, "%d", port );
+
+#ifdef LDAP_R_COMPILE
+ /* most getaddrinfo(3) use non-threadsafe resolver libraries */
+ ldap_pvt_thread_mutex_lock(&ldap_int_resolv_mutex);
+#endif