summaryrefslogtreecommitdiffstats
path: root/src/syslog_relay.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/syslog_relay.c')
-rw-r--r--src/syslog_relay.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/syslog_relay.c b/src/syslog_relay.c
index 44006ce..5ef64cd 100644
--- a/src/syslog_relay.c
+++ b/src/syslog_relay.c
@@ -106,6 +106,8 @@ LIBIMOBILEDEVICE_API syslog_relay_error_t syslog_relay_client_free(syslog_relay_
106 if (client->worker) { 106 if (client->worker) {
107 debug_info("Joining syslog capture callback worker thread"); 107 debug_info("Joining syslog capture callback worker thread");
108 thread_join(client->worker); 108 thread_join(client->worker);
109 thread_free(client->worker);
110 client->worker = (thread_t)NULL;
109 } 111 }
110 free(client); 112 free(client);
111 113
@@ -190,7 +192,7 @@ LIBIMOBILEDEVICE_API syslog_relay_error_t syslog_relay_start_capture(syslog_rela
190 srwt->cbfunc = callback; 192 srwt->cbfunc = callback;
191 srwt->user_data = user_data; 193 srwt->user_data = user_data;
192 194
193 if (thread_create(&client->worker, syslog_relay_worker, srwt) == 0) { 195 if (thread_new(&client->worker, syslog_relay_worker, srwt) == 0) {
194 res = SYSLOG_RELAY_E_SUCCESS; 196 res = SYSLOG_RELAY_E_SUCCESS;
195 } 197 }
196 } 198 }
@@ -206,6 +208,7 @@ LIBIMOBILEDEVICE_API syslog_relay_error_t syslog_relay_stop_capture(syslog_relay
206 client->parent = NULL; 208 client->parent = NULL;
207 /* join thread to make it exit */ 209 /* join thread to make it exit */
208 thread_join(client->worker); 210 thread_join(client->worker);
211 thread_free(client->worker);
209 client->worker = (thread_t)NULL; 212 client->worker = (thread_t)NULL;
210 client->parent = parent; 213 client->parent = parent;
211 } 214 }