pthread_cond_timedwait on zOS returns EAGAIN, not ETIMEDOUT as on other unix platforms. Change apr_thread_cond_timedwait to check platform and rv when deciding to return APR_TIMEUP. I didn't add any config for the zOS rv , as it didn't seem to add anything.
apr/testall testlock test_timeoutcond will pass with this change, it does
not currently.
Index: thread_cond.c
===================================================================
--- thread_cond.c (revision 579232)
+++ thread_cond.c (working copy)
@@ -92,7 +92,11 @@
rv = errno;
}
#endif
+#ifdef __MVS__
+ if (EAGAIN == rv) {
+#else
if (ETIMEDOUT == rv) {
+#endif /* __MVS__ */
return APR_TIMEUP;
}
return rv;
thread_cond.patch
Description: Binary data
