]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Fix for pthread_condtimedwait failing occasionally
authorDavid Yat Sin <dyatsin@sangoma.com>
Tue, 12 Jan 2010 17:52:17 +0000 (17:52 +0000)
committerDavid Yat Sin <dyatsin@sangoma.com>
Tue, 12 Jan 2010 17:52:17 +0000 (17:52 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/branches/sangoma_boost@954 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/zap_threadmutex.c

index 0d15cadaa177f298dc3b81aebc50750630a6eb01..edf7d3391c407ee300515fc54d948b258d889907 100644 (file)
@@ -309,7 +309,7 @@ OZ_DECLARE(zap_status_t) zap_condition_wait(zap_condition_t *condition, int ms)
 
                waitms.tv_nsec = 1000*(t.tv_usec + (1000 * ( ms % 1000 )));
 
-               if (waitms.tv_nsec > ONE_BILLION) {
+               if (waitms.tv_nsec >= ONE_BILLION) {
                                waitms.tv_sec++;
                                waitms.tv_nsec-= ONE_BILLION;
                }
@@ -322,6 +322,7 @@ OZ_DECLARE(zap_status_t) zap_condition_wait(zap_condition_t *condition, int ms)
                if (res == ETIMEDOUT) {
                        return ZAP_TIMEOUT;
                }
+
                zap_log(ZAP_LOG_CRIT,"pthread_cond_timedwait failed (%d)\n", res);
                return ZAP_FAIL;
        }