diff options
Diffstat (limited to '')
-rw-r--r-- | src/ft_warp_level.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index b122e46..a93184c 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -16,6 +16,7 @@ #include <stddef.h> #include <stdint.h> #include <mlx.h> +#include <signal.h> #include <pthread.h> static void @@ -66,14 +67,20 @@ static void if (isoldmus && !cl->mlist.ismusic) { pthread_cancel(cl->tid); - pthread_join(cl->tid, NULL); + if (FT_OS == 1) + pthread_kill(cl->tid, SIGTERM); + else + pthread_join(cl->tid, NULL); 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); + if (FT_OS == 1) + pthread_kill(cl->tid, SIGTERM); + else + pthread_join(cl->tid, NULL); pthread_create(&cl->tid, NULL, ft_music_thread, cl); } else if (isoldmus && cl->mlist.ismusic |