author | Mike Sullivan <Mike.Sullivan@Oracle.COM> |
Wed, 29 Aug 2012 11:05:56 -0700 | |
changeset 957 | 255465c5756f |
parent 954 | 42138962369d |
permissions | -rw-r--r-- |
954
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
1 |
diff --git a/lib/isc/pthreads/condition.c b/lib/isc/pthreads/condition.c |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
2 |
index 50281a2..ca33e66 100644 |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
3 |
--- a/lib/isc/pthreads/condition.c |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
4 |
+++ b/lib/isc/pthreads/condition.c |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
5 |
@@ -43,7 +43,14 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) { |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
6 |
* POSIX defines a timespec's tv_sec as time_t. |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
7 |
*/ |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
8 |
result = isc_time_secondsastimet(t, &ts.tv_sec); |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
9 |
- if (result != ISC_R_SUCCESS) |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
10 |
+ |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
11 |
+ /* |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
12 |
+ * If we have a range error ts.tv_sec is most probably a signed |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
13 |
+ * 32 bit value. Set ts.tv_sec to INT_MAX. This is a kludge. |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
14 |
+ */ |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
15 |
+ if (result == ISC_R_RANGE) |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
16 |
+ ts.tv_sec = INT_MAX; |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
17 |
+ else if (result != ISC_R_SUCCESS) |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
18 |
return (result); |
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
19 |
|
42138962369d
7102711 BIND 9 may once more be able to use getifaddrs()
tomas.jedlicka <tomas.jedlicka@oracle.com>
parents:
diff
changeset
|
20 |
/*! |