diff options
Diffstat (limited to 'src/syslog_relay.c')
| -rw-r--r-- | src/syslog_relay.c | 5 |
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 | } |
