]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-10167: Small fix, made state volatile in session and connection to prevent odd...
authorShane Bryldt <astaelan@gmail.com>
Tue, 18 Apr 2017 20:10:34 +0000 (15:10 -0500)
committerShane Bryldt <astaelan@gmail.com>
Tue, 18 Apr 2017 20:10:34 +0000 (15:10 -0500)
libs/libblade/src/blade_connection.c
libs/libblade/src/blade_module_wss.c
libs/libblade/src/blade_session.c

index 61c4b481f3e2718b33cb483f52aab42f1dea0dd2..66d354e00f8fb434df67b6af2b8c316a737d8c95 100644 (file)
@@ -42,7 +42,7 @@ struct blade_connection_s {
 
        blade_connection_direction_t direction;
     ks_thread_t *state_thread;
-       blade_connection_state_t state;
+       volatile blade_connection_state_t state;
 
        const char *id;
        ks_rwl_t *lock;
index b1dcb4242717aacb231aaf2f470fc427647592df..881346c0fffb6b32da7d7972027a0b424f4eff95 100644 (file)
@@ -1012,7 +1012,7 @@ blade_connection_state_hook_t blade_transport_wss_on_state_attach_inbound(blade_
        if (json_req) cJSON_Delete(json_req);
        if (json_res) cJSON_Delete(json_res);
 
-       
+
        return ret;
 }
 
index 0af5eeaad4924d6ea08cc8bcc7e4b41b5231fb69..04aac39dfa5e8d365663728e410c1a273bdf13fb 100644 (file)
@@ -37,7 +37,7 @@ struct blade_session_s {
        blade_handle_t *handle;
        ks_pool_t *pool;
 
-       blade_session_state_t state;
+       volatile blade_session_state_t state;
 
        const char *id;
        ks_rwl_t *lock;
@@ -180,7 +180,7 @@ KS_DECLARE(ks_status_t) blade_session_startup(blade_session_t *bs)
        ks_assert(tpool);
 
        blade_session_state_set(bs, BLADE_SESSION_STATE_NONE);
-       
+
        if (ks_thread_pool_add_job(tpool, blade_session_state_thread, bs) != KS_STATUS_SUCCESS) {
                // @todo error logging
                return KS_STATUS_FAIL;
@@ -470,7 +470,7 @@ void *blade_session_state_thread(ks_thread_t *thread, void *data)
        ks_assert(data);
 
        bs = (blade_session_t *)data;
-       
+
        ks_mutex_lock(bs->mutex);
 
        while (!shutdown) {
@@ -490,7 +490,7 @@ void *blade_session_state_thread(ks_thread_t *thread, void *data)
                                cJSON_Delete(json);
                        }
                }
-               
+
                blade_handle_session_state_callbacks_execute(bs, BLADE_SESSION_STATE_CONDITION_POST);
 
                switch (state) {