Currently virThreadPoolNewFull relies on the caller to ensure the job
name outlives the thread pool. Which basically enforces static strings.
Let's drop this implicit requirement by making a copy of the job name.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
bool quit;
virThreadPoolJobFunc jobFunc;
- const char *jobName;
+ char *jobName;
void *jobOpaque;
virThreadPoolJobList jobList;
size_t jobQueueDepth;
pool->jobList.tail = pool->jobList.head = NULL;
pool->jobFunc = func;
- pool->jobName = name;
+ pool->jobName = g_strdup(name);
pool->jobOpaque = opaque;
if (identity)
if (pool->identity)
g_object_unref(pool->identity);
+ g_free(pool->jobName);
g_free(pool->workers);
virMutexUnlock(&pool->mutex);
virMutexDestroy(&pool->mutex);