aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_sfx_pain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_sfx_pain.c')
-rw-r--r--src/ft_sfx_pain.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/ft_sfx_pain.c b/src/ft_sfx_pain.c
index 28bc95d..cb68108 100644
--- a/src/ft_sfx_pain.c
+++ b/src/ft_sfx_pain.c
@@ -28,15 +28,12 @@ void
pthread_mutex_lock(&sfx->pain_mutex);
while (1)
{
+ pthread_mutex_lock(&sfx->pain_mutex);
ref = (ref > 201) ? (0) : (ref + 1);
- if (ref % 2)
- {
- pthread_mutex_lock(&sfx->pain_mutex);
- if (ref % 3)
- system(sfx->pain_one);
- else
- system(sfx->pain_two);
- }
+ if (ref % 3)
+ system(sfx->pain_one);
+ else
+ system(sfx->pain_two);
}
return (NULL);
}
@@ -44,5 +41,9 @@ void
void
ft_sfx_pain(t_cub *cl)
{
- pthread_mutex_unlock(&cl->sfx.pain_mutex);
+ static uint8_t ref = 0;
+
+ ref = (ref > 201) ? (0) : (ref + 1);
+ if (ref % 2)
+ pthread_mutex_unlock(&cl->sfx.pain_mutex);
}