From 16092c007e8767b32c107d74d3ea3d238f5e65ec Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 18:10:14 +0100 Subject: Preparing forks --- src/ft_warp_level.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 808b346..4d1ca12 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -16,8 +16,6 @@ #include #include #include -#include -#include static void ft_del_map(t_map *ml) @@ -66,16 +64,13 @@ static void { if (isoldmus && !cl->mlist.ismusic) { - pthread_cancel(cl->tid); - pthread_join(cl->tid, NULL); + /* stop fork() here */ 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); + /* stop and recreate fork() here */ } else if (isoldmus && cl->mlist.ismusic && !ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) -- cgit v1.2.3 From a35b258841cde7884f5bb71d5ae0951d5e3f27b7 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 19:03:24 +0100 Subject: fork(3) going well, freed a leak --- src/ft_warp_level.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 4d1ca12..0d126c1 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -20,6 +20,7 @@ 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); -- cgit v1.2.3 From f3aab6429d673342f4819f8a3c2857e48610689a Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 19:12:10 +0100 Subject: it's going well --- src/ft_warp_level.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 0d126c1..febff7e 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -15,6 +15,9 @@ #include #include #include +#include +#include +#include #include static void @@ -65,13 +68,18 @@ static void { if (isoldmus && !cl->mlist.ismusic) { - /* stop fork() here */ + 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)) { - /* stop and recreate fork() here */ + kill(cl->mpid, SIGTERM); + wait(&cl->mpid); + cl->mpid = fork(); + if (cl->mpid == 0) + ft_music_fork(cl->mlist.music_cmd); } else if (isoldmus && cl->mlist.ismusic && !ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) -- cgit v1.2.3 From 6a89966eed6110d0e7a7ec53727c4473d18ad441 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 20:43:42 +0100 Subject: Fuck execve --- src/ft_warp_level.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index febff7e..9bd8d92 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -35,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 @@ -75,11 +76,11 @@ static void else if (isoldmus && cl->mlist.ismusic && ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) { - kill(cl->mpid, SIGTERM); - wait(&cl->mpid); - cl->mpid = fork(); - if (cl->mpid == 0) - ft_music_fork(cl->mlist.music_cmd); + /* kill(cl->mpid, SIGTERM); */ + /* wait(&cl->mpid); */ + /* cl->mpid = fork(); */ + /* if (cl->mpid == 0) */ + /* ft_music_fork(cl->mlist.mcmd_words); */ } else if (isoldmus && cl->mlist.ismusic && !ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) -- cgit v1.2.3 From 874d8d3bbafb3d1919cfc6f21fdb780382f0d015 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 21:03:07 +0100 Subject: boy --- src/ft_warp_level.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 9bd8d92..2721aca 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -76,8 +76,8 @@ static void else if (isoldmus && cl->mlist.ismusic && ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) { - /* kill(cl->mpid, SIGTERM); */ - /* wait(&cl->mpid); */ + kill(cl->mpid, SIGTERM); + wait(&cl->mpid); /* cl->mpid = fork(); */ /* if (cl->mpid == 0) */ /* ft_music_fork(cl->mlist.mcmd_words); */ -- cgit v1.2.3 From 3048aae5d3f50359f19e0d440376ae422a16a7b7 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Fri, 6 Mar 2020 21:47:09 +0100 Subject: Good enough --- src/ft_warp_level.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/ft_warp_level.c') diff --git a/src/ft_warp_level.c b/src/ft_warp_level.c index 2721aca..37789a5 100644 --- a/src/ft_warp_level.c +++ b/src/ft_warp_level.c @@ -78,9 +78,7 @@ static void { kill(cl->mpid, SIGTERM); wait(&cl->mpid); - /* cl->mpid = fork(); */ - /* if (cl->mpid == 0) */ - /* ft_music_fork(cl->mlist.mcmd_words); */ + ft_enable_music(cl); } else if (isoldmus && cl->mlist.ismusic && !ft_strncmp(tmp_mup, cl->mlist.music_path, ft_strlen(tmp_mup) + 1)) -- cgit v1.2.3