]> git.dkaiser.de - 42/Philosophers.git/commitdiff
Fix norme main
authorDominik Kaiser <dkaiser@3-F-5.42heilbronn.de>
Tue, 28 Jan 2025 13:37:27 +0000 (14:37 +0100)
committerDominik Kaiser <dkaiser@3-F-5.42heilbronn.de>
Tue, 28 Jan 2025 13:37:27 +0000 (14:37 +0100)
philo/src/init.c

index ae413c30eee9a0563ab9d3839bfc5a892590248e..405b3933de3cac49814e06c66784cd5b36751eef 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2025/01/28 13:12:57 by dkaiser           #+#    #+#             */
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2025/01/28 13:12:57 by dkaiser           #+#    #+#             */
-/*   Updated: 2025/01/28 14:28:58 by dkaiser          ###   ########.fr       */
+/*   Updated: 2025/01/28 14:36:59 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -15,6 +15,7 @@
 
 static void    init_philo(t_philo *philo, t_phdata *data, int id);
 static int     init_philos(t_philo **philos, t_phdata *data);
 
 static void    init_philo(t_philo *philo, t_phdata *data, int id);
 static int     init_philos(t_philo **philos, t_phdata *data);
+static void    free_all(t_philo *philos, t_phdata *data);
 
 int    init(t_philo **philos, t_phdata *data)
 {
 
 int    init(t_philo **philos, t_phdata *data)
 {
@@ -32,15 +33,13 @@ int init(t_philo **philos, t_phdata *data)
        result = pthread_mutex_init(&(data->pme_mutex), NULL);
        if (result != 0)
        {
        result = pthread_mutex_init(&(data->pme_mutex), NULL);
        if (result != 0)
        {
-               free(*philos);
-               free_data(data);
+               free_all(*philos, data);
                return (result);
        }
        result = pthread_mutex_init(&data->sr_mutex, NULL);
        if (result != 0)
        {
                return (result);
        }
        result = pthread_mutex_init(&data->sr_mutex, NULL);
        if (result != 0)
        {
-               free(*philos);
-               free_data(data);
+               free_all(*philos, data);
                return (result);
        }
        result = init_philos(philos, data);
                return (result);
        }
        result = init_philos(philos, data);
@@ -77,3 +76,9 @@ static void   init_philo(t_philo *philo, t_phdata *data, int id)
        philo->data = data;
        philo->last_time_eaten = ft_cur_time_in_ms();
 }
        philo->data = data;
        philo->last_time_eaten = ft_cur_time_in_ms();
 }
+
+static void    free_all(t_philo *philos, t_phdata *data)
+{
+       free(philos);
+       free_data(data);
+}