diff options
author | christos <christos> | 2013-01-07 00:03:16 +0000 |
---|---|---|
committer | christos <christos> | 2013-01-07 00:03:16 +0000 |
commit | 8c6dfeec8b2d6380f65fec38ab918394d297c7de (patch) | |
tree | 744f393cc2f017754a1a7411b5d395b95a7b63ad /filesystems/openafs-devel | |
parent | 178fe6becb62005270ba62277e9ee39a0c244b69 (diff) | |
download | pkgsrc-8c6dfeec8b2d6380f65fec38ab918394d297c7de.tar.gz |
use a pthread-friendly resolver way.
Diffstat (limited to 'filesystems/openafs-devel')
-rw-r--r-- | filesystems/openafs-devel/patches/patch-src-auth-cellconfig.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/filesystems/openafs-devel/patches/patch-src-auth-cellconfig.c b/filesystems/openafs-devel/patches/patch-src-auth-cellconfig.c new file mode 100644 index 00000000000..7fa6a9ebc0a --- /dev/null +++ b/filesystems/openafs-devel/patches/patch-src-auth-cellconfig.c @@ -0,0 +1,53 @@ +$NetBSD: patch-src-auth-cellconfig.c,v 1.1 2013/01/07 00:03:16 christos Exp $ + +--- src/auth/cellconfig.c.orig 2012-04-22 23:40:23.000000000 -0400 ++++ src/auth/cellconfig.c 2013-01-06 18:00:28.000000000 -0500 +@@ -976,6 +976,11 @@ + int pass = 0; + char *IANAname = (char *) afsconf_FindIANAName(service); + int tservice = afsconf_FindService(service); ++#ifdef __NetBSD__ ++ res_state res; ++#else ++#define res (&_res) ++#endif + + realCellName = NULL; + +@@ -994,15 +999,18 @@ + return AFSCONF_NOTFOUND; /* service not found */ + + #ifdef HAVE_RES_RETRANSRETRY +- if ((_res.options & RES_INIT) == 0 && res_init() == -1) ++#ifdef __NetBSD__ ++ res = __res_get_state(); ++#else ++ if ((res->options & RES_INIT) == 0 && res_init() == -1) + return (0); +- ++#endif + /* + * Rx timeout is typically 56 seconds; limit user experience to + * similar timeout + */ +- _res.retrans = 18; +- _res.retry = 3; ++ res->retrans = 18; ++ res->retry = 3; + #endif + + retryafsdb: +@@ -1030,9 +1038,13 @@ + } + if ((code < 0) || (code >= fullnamelength)) + goto findservererror; ++#ifdef __NetBSD__ ++ len = res_nsearch(res, dotcellname, C_IN, dnstype, answer, sizeof(answer)); ++#else + LOCK_GLOBAL_MUTEX; + len = res_search(dotcellname, C_IN, dnstype, answer, sizeof(answer)); + UNLOCK_GLOBAL_MUTEX; ++#endif + + if (len < 0) { + if (try_init < 1) { |