summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2014-12-04 19:46:14 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2014-12-04 19:46:14 +0100
commit0f5da2fce7911c1a0701dc78e4cb7ce10fbe25c2 (patch)
tree33c844208aedf15ad8a1cd5a8c6b00eeeccfa999
parentaad5ac1625e6830bd63b57f646479883f06f7d88 (diff)
downloadbiruda-0f5da2fce7911c1a0701dc78e4cb7ce10fbe25c2.tar.gz
biruda-0f5da2fce7911c1a0701dc78e4cb7ce10fbe25c2.tar.bz2
fixed premature freeing of worker data on worker termination
-rw-r--r--src/worker.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/worker.c b/src/worker.c
index 1bd5eb8..d0b4f52 100644
--- a/src/worker.c
+++ b/src/worker.c
@@ -157,6 +157,9 @@ static void *worker_func( void *thread_data )
worker->state = WORKER_STATE_STOPPED;
+ free( worker->execution_data );
+ worker->execution_data = NULL;
+
g_strfreev( args );
return NULL;
@@ -225,9 +228,6 @@ void worker_terminate( worker_t *worker )
#else
(void)TerminateProcess( wed->pid, 0 );
#endif
- worker->state = WORKER_STATE_STOPPED;
- free( worker->execution_data );
- worker->execution_data = NULL;
}
int worker_free( worker_t *worker )