aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_warp_level.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_warp_level.c11
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