]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Wed Jan 28 12:09:00 CST 2009 Pekka Pessi <first.last@nokia.com>
authorMichael Jerris <mike@jerris.com>
Wed, 11 Feb 2009 17:18:37 +0000 (17:18 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 11 Feb 2009 17:18:37 +0000 (17:18 +0000)
  * su_port.h, su_timer.c: refactored su_timer_next_expires()

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11855 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/sofia-sip/.update
libs/sofia-sip/libsofia-sip-ua-glib/su-glib/su_source.c
libs/sofia-sip/libsofia-sip-ua/su/su_port.h
libs/sofia-sip/libsofia-sip-ua/su/su_timer.c

index e31494d7e6f7d2f5cc19a409e37ccfaf444e9dbb..cdaf08ad99e1abfd836bd15b43357119db0f1f11 100644 (file)
@@ -1 +1 @@
-Wed Feb 11 11:18:06 CST 2009
+Wed Feb 11 11:18:29 CST 2009
index 7c5f79581c359b6c13626fd28b1c3111c2eee9ce..f9467e49f3b26a22e64d1dad5a1e40801d7dfee5 100644 (file)
@@ -394,7 +394,7 @@ gboolean su_source_prepare(GSource *gs, gint *return_tout)
     now.tv_sec = gtimeval.tv_sec + 2208988800UL;
     now.tv_usec = gtimeval.tv_usec;
 
-    tout = su_timer_next_expires(self->sup_base->sup_timers, now);
+    tout = su_timer_next_expires(&self->sup_base->sup_timers, now);
 
     *return_tout = (tout < 0 || tout > (su_duration_t)G_MAXINT)?
        -1 : (gint)tout;
index 092cfbdf653dccdfb012cd4b94b31f80ba130da2..0ecc0f609712e7b5b812e9c780f4e658f2781446 100644 (file)
@@ -166,7 +166,7 @@ SOFIAPUBFUN su_port_t *su_port_create(void)
 /* Extension from >= 1.12.5 */
 
 SOFIAPUBFUN void su_msg_delivery_report(su_msg_r msg);
-SOFIAPUBFUN su_duration_t su_timer_next_expires(su_timer_t const * t,
+SOFIAPUBFUN su_duration_t su_timer_next_expires(su_timer_queue_t const *timers,
                                                su_time_t now);
 SOFIAPUBFUN su_root_t *su_root_create_with_port(su_root_magic_t *magic,
                                                su_port_t *port)
index e24af4e7b6c3ae26fcb4a96bc6f2ddaafeb2ddb2..f60958a6da4a9bd9e8109839d217bbd3b990b7b3 100644 (file)
@@ -581,25 +581,22 @@ int su_timer_expire(su_timer_queue_t * const timers,
 
 
 /** Calculate duration in milliseconds until next timer expires. */
-su_duration_t su_timer_next_expires(su_timer_t const * t, su_time_t now)
+su_duration_t su_timer_next_expires(su_timer_queue_t const *timers,
+                                   su_time_t now)
 {
-  su_timer_queue_t *timers;
-
-  su_duration_t tout;
-
-  if (!t)
-    return SU_DURATION_MAX;
+  su_duration_t next = SU_DURATION_MAX;
 
-  timers = su_task_timers(t->sut_task);
+  su_timer_t const *t;
 
-  t =  timers ? timers_get(timers[0], 1) : NULL;
+  t = timers ? timers_get(timers[0], 1) : NULL;
 
-  if (!t)
-    return SU_DURATION_MAX;
-
-  tout = su_duration(t->sut_when, now);
+  if (t) {
+    next = su_duration(t->sut_when, now);
+    if (next < 0)
+      next = 0;
+  }
 
-  return tout > 0 ? tout : 0 ;
+  return next;
 }
 
 /**