aboutsummaryrefslogtreecommitdiff
path: root/src/loader.c
diff options
context:
space:
mode:
authorHarry Jeffery <harry@exec64.co.uk>2017-04-14 16:49:17 +0100
committerHarry Jeffery <harry@exec64.co.uk>2017-04-14 16:49:17 +0100
commit5a8932cb21f63af86dffa419ec5da5f4a5d29d70 (patch)
tree87a1832eec5ad21f993fe551c511fcf14ad5a125 /src/loader.c
parent50759fb279b38c5db7cacf88206188b827f564b2 (diff)
downloadimv-5a8932cb21f63af86dffa419ec5da5f4a5d29d70.tar.gz
Refactor loader to new style
Diffstat (limited to 'src/loader.c')
-rw-r--r--src/loader.c7
1 files changed, 5 insertions, 2 deletions
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,