From 5a8932cb21f63af86dffa419ec5da5f4a5d29d70 Mon Sep 17 00:00:00 2001 From: Harry Jeffery Date: Fri, 14 Apr 2017 16:49:17 +0100 Subject: Refactor loader to new style --- src/loader.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/loader.c') diff --git a/src/loader.c b/src/loader.c index d70b66d..c5b64a6 100644 --- a/src/loader.c +++ b/src/loader.c @@ -44,15 +44,17 @@ static int is_thread_cancelled(void) return sigismember(&sigmask, SIGUSR1); } -void imv_init_loader(struct imv_loader *ldr) +struct imv_loader *imv_loader_create(void) { + struct imv_loader *ldr = malloc(sizeof(struct imv_loader)); memset(ldr, 0, sizeof(struct imv_loader)); pthread_mutex_init(&ldr->lock, NULL); /* ignore this signal in case we accidentally receive it */ block_usr1_signal(); + return ldr; } -void imv_destroy_loader(struct imv_loader *ldr) +void imv_loader_free(struct imv_loader *ldr) { /* wait for any existing bg thread to finish */ pthread_join(ldr->bg_thread, NULL); @@ -70,6 +72,7 @@ void imv_destroy_loader(struct imv_loader *ldr) if(ldr->path) { free(ldr->path); } + free(ldr); } void imv_loader_load(struct imv_loader *ldr, const char *path, -- cgit v1.2.3