aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_warp_level.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_warp_level.c')
-rw-r--r--src/ft_warp_level.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c
index 808b346..37789a5 100644
--- a/src/ft_warp_level.c
+++ b/src/ft_warp_level.c
@@ -15,13 +15,15 @@
#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>
-#include <mlx.h>
+#include <unistd.h>
#include <signal.h>
-#include <pthread.h>
+#include <sys/wait.h>
+#include <mlx.h>
static void
ft_del_map(t_map *ml)
{
+ ft_memdel((void**)&ml->filename);
ft_memdel((void**)&ml->no_tex_path);
ft_memdel((void**)&ml->so_tex_path);
ft_memdel((void**)&ml->ea_tex_path);
@@ -33,6 +35,7 @@ static void
ft_memdel((void**)&ml->music_cmd);
ft_memdel((void**)&ml->mapl);
ft_free_words(ml->map);
+ ft_free_words(ml->mcmd_words);
}
static void
@@ -66,16 +69,16 @@ static void
{
if (isoldmus && !cl->mlist.ismusic)
{
- pthread_cancel(cl->tid);
- pthread_join(cl->tid, NULL);
+ kill(cl->mpid, SIGTERM);
+ wait(&cl->mpid);
cl->isoldmus = 0;
}
else if (isoldmus && cl->mlist.ismusic
&& ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1))
{
- pthread_cancel(cl->tid);
- pthread_join(cl->tid, NULL);
- pthread_create(&cl->tid, NULL, ft_music_thread, cl);
+ kill(cl->mpid, SIGTERM);
+ wait(&cl->mpid);
+ ft_enable_music(cl);
}
else if (isoldmus && cl->mlist.ismusic
&& !ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1))