diff options
Diffstat (limited to '')
-rw-r--r-- | src/ft_sfx_footstep.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/ft_sfx_footstep.c b/src/ft_sfx_footstep.c index d9f083d..b3d33d7 100644 --- a/src/ft_sfx_footstep.c +++ b/src/ft_sfx_footstep.c @@ -21,22 +21,19 @@ void { static uint8_t ref = 0; - if (waitpid(cl->sfx.footstep_pid, 0, WNOHANG) > 0) + cl->sfx.footstep_pid = fork(); + if (cl->sfx.footstep_pid == 0) { - cl->sfx.footstep_pid = fork(); - if (cl->sfx.footstep_pid == 0) - { - ref += 1; - if (ref > 201) - ref = 0; - if (ref % 2) - execve(*(cl->sfx.footstep_one + 0), - cl->sfx.footstep_one, cl->envp); - else - execve(*(cl->sfx.footstep_two + 0), - cl->sfx.footstep_two, cl->envp); - } + ref += 1; + if (ref > 201) + ref = 0; + if (ref % 2) + execve(*(cl->sfx.footstep_one + 0), + cl->sfx.footstep_one, cl->envp); else - wait(&cl->sfx.footstep_pid); + execve(*(cl->sfx.footstep_two + 0), + cl->sfx.footstep_two, cl->envp); } + else + wait(&cl->sfx.footstep_pid); } |