]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-8397: fix race condition inrementing event seq number
authorMichael Jerris <mike@jerris.com>
Thu, 29 Oct 2015 15:28:21 +0000 (10:28 -0500)
committerMichael Jerris <mike@jerris.com>
Thu, 29 Oct 2015 15:29:14 +0000 (10:29 -0500)
src/switch_event.c

index 423c751ebc05cafc26d7b0b0337ca34ceb852a38..fea4d0691fe4ecb3b7c08c758daaffc611a736dd 100644 (file)
@@ -1932,9 +1932,10 @@ SWITCH_DECLARE(void) switch_event_prep_for_delivery_detailed(const char *file, c
        char date[80] = "";
        switch_size_t retsize;
        switch_time_t ts = switch_micro_time_now();
+       uint64_t seq;
 
        switch_mutex_lock(EVENT_QUEUE_MUTEX);
-       EVENT_SEQUENCE_NR++;
+       seq = ++EVENT_SEQUENCE_NR;
        switch_mutex_unlock(EVENT_QUEUE_MUTEX);
 
 
@@ -1954,7 +1955,7 @@ SWITCH_DECLARE(void) switch_event_prep_for_delivery_detailed(const char *file, c
        switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Calling-File", switch_cut_path(file));
        switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "Event-Calling-Function", func);
        switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Calling-Line-Number", "%d", line);
-       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Sequence", "%" SWITCH_UINT64_T_FMT, (uint64_t) EVENT_SEQUENCE_NR);
+       switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Event-Sequence", "%" SWITCH_UINT64_T_FMT, seq);
 
 
 }