raster pushed a commit to branch master.

commit 6ceabbdb6cfeabc02c0bd16f08218543bf0a1d73
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Tue Jul 9 20:13:24 2013 +0900

    ethumb - fix ethumbd timeout to always work at start and mid-run too.
---
 src/bin/ethumb_client/ethumbd.c | 34 ++++++++++++++--------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/src/bin/ethumb_client/ethumbd.c b/src/bin/ethumb_client/ethumbd.c
index c09c89a..a0313c5 100644
--- a/src/bin/ethumb_client/ethumbd.c
+++ b/src/bin/ethumb_client/ethumbd.c
@@ -269,6 +269,14 @@ _ethumbd_timeout_stop(Ethumbd *ed)
    ed->timeout_timer = NULL;
 }
 
+static void
+_ethumbd_timeout_redo(Ethumbd *ed)
+{
+   //if (!ed->queue.count)
+   _ethumbd_timeout_stop(ed);
+   _ethumbd_timeout_start(ed);
+}
+
 static int
 _ethumb_dbus_check_id(Ethumbd_Object *eobject, int id)
 {
@@ -393,11 +401,7 @@ _generated_cb(Ethumbd *ed, Eina_Bool success, const char 
*thumb_path, const char
    eina_stringshare_del(ed->processing->thumb_key);
    free(ed->processing);
    ed->processing = NULL;
-   if (!ed->queue.count)
-     {
-        _ethumbd_timeout_stop(ed);
-        _ethumbd_timeout_start(ed);
-     }
+   _ethumbd_timeout_redo(ed);
 }
 
 static void
@@ -501,12 +505,7 @@ _ethumbd_slave_data_read_cb(void *data, int type 
EINA_UNUSED, void *event)
               _ethumbd_slave_cmd_ready(ed);
          }
      }
-
-   if (!ed->queue.count)
-     {
-        _ethumbd_timeout_stop(ed);
-        _ethumbd_timeout_start(ed);
-     }
+   _ethumbd_timeout_redo(ed);
    return 1;
 }
 
@@ -721,11 +720,7 @@ _process_queue_cb(void *data)
    if (!queue->nqueue)
      {
        ed->idler = NULL;
-       if (!ed->queue.count)
-          {
-             _ethumbd_timeout_stop(ed);
-             _ethumbd_timeout_start(ed);
-          }
+        _ethumbd_timeout_redo(ed);
        ed->idler = NULL;
        return 0;
      }
@@ -882,7 +877,7 @@ _ethumb_table_del(Ethumbd *ed, int i)
    q->count--;
    _ethumbd_child_write_op_del(&ed->slave, i);
    if (!q->count && !ed->processing)
-     _ethumbd_timeout_start(ed);
+     _ethumbd_timeout_redo(ed);
 }
 
 static void
@@ -953,8 +948,7 @@ _ethumb_dbus_ethumb_new_cb(const Eldbus_Service_Interface 
*interface, const Eldb
                                          _name_owner_changed_cb, odata,
                                          EINA_TRUE);
    _ethumbd_child_write_op_new(&ed->slave, i);
-   _ethumbd_timeout_stop(ed);
-   _ethumbd_timeout_start(ed);
+   _ethumbd_timeout_redo(ed);
 
  end_new:
    reply = eldbus_message_method_return_new(msg);
@@ -1651,7 +1645,7 @@ _ethumb_dbus_request_name_cb(void *data, const 
Eldbus_Message *msg, Eldbus_Pendi
 
    eldbus_service_object_data_set(iface, DAEMON, ed);
 
-   _ethumbd_timeout_start(ed);
+   _ethumbd_timeout_redo(ed);
 }
 
 static int

-- 

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk

Reply via email to