raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b38c610c7e60cbdcb45fd6d27450e39e3a9c9dd1

commit b38c610c7e60cbdcb45fd6d27450e39e3a9c9dd1
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Jan 31 14:48:36 2017 +0900

    evlog - remove setting stack var to 0 until it is needed later
    
    we set stack var to 0 even if evlog was off and thus didn't use it.
    this cleans up the evlog func a bit and also moves locking until later
    so it's locked for the minimum period to punt something into the log
    buffer. it's an improvement, but no bug fix.
---
 src/lib/eina/eina_evlog.c | 38 ++++++++++++++++++--------------------
 1 file changed, 18 insertions(+), 20 deletions(-)

diff --git a/src/lib/eina/eina_evlog.c b/src/lib/eina/eina_evlog.c
index 7fec809..359badb 100644
--- a/src/lib/eina/eina_evlog.c
+++ b/src/lib/eina/eina_evlog.c
@@ -131,35 +131,33 @@ eina_evlog(const char *event, void *obj, double srctime, 
const char *detail)
    int size;
    char *strings;
    double now;
-   unsigned short detail_offset = 0;
-   unsigned short event_size;
+   unsigned short detail_offset, event_size;
 
    if (!_evlog_go) return;
-   now = get_time();
-   eina_spinlock_take(&_evlog_lock);
-   size = sizeof(Eina_Evlog_Item);
+
+   now        = get_time();
    event_size = strlen(event) + 1;
-   size += event_size;
+   size       = sizeof(Eina_Evlog_Item) + event_size;
    if (detail)
      {
-        detail_offset = size;
-        size += strlen(detail) + 1;
+        detail_offset  = size;
+        size          += strlen(detail) + 1;
      }
+   else detail_offset  = 0;
    size = sizeof(double) * ((size + sizeof(double) - 1) / sizeof(double));
 
-   strings = push_buf(buf, size);
-   item = (Eina_Evlog_Item *)strings;
-   item->tim = now;
-   item->srctim = srctime;
-   item->thread = (unsigned long long)pthread_self();
-   item->obj = (unsigned long long)obj;
-   item->event_offset = sizeof(Eina_Evlog_Item);
-   item->detail_offset = detail_offset;
-   item->event_next = size;
-
-   strcpy(strings + sizeof(Eina_Evlog_Item), event);
+   eina_spinlock_take(&_evlog_lock);
+   strings              = push_buf(buf, size);
+   item                 = (Eina_Evlog_Item *)strings;
+   item->tim            = now;
+   item->srctim         = srctime;
+   item->thread         = (unsigned long long)pthread_self();
+   item->obj            = (unsigned long long)obj;
+   item->event_offset   = sizeof(Eina_Evlog_Item);
+   item->detail_offset  = detail_offset;
+   item->event_next     = size;
+   strcpy(strings + size, event);
    if (detail_offset > 0) strcpy(strings + detail_offset, detail);
-
    eina_spinlock_release(&_evlog_lock);
 }
 

-- 


Reply via email to