From 060d1d8fefb6742116c99aeaec77ad46b350fe82 Mon Sep 17 00:00:00 2001 From: Matthos Denys Date: Tue, 18 May 2021 13:09:13 +0300 Subject: [PATCH] maybe working --- philo_one/srcs/logic.c | 2 +- philo_one/srcs/prepare_simulation.c | 16 ++-- philo_one/srcs/utilc.c | 2 +- philo_two/Makefile | 47 ---------- philo_two/includes/philo_header.h | 83 ----------------- philo_two/obj/ft_itoa.o | Bin 3236 -> 0 bytes philo_two/obj/ft_strjoin.o | Bin 2784 -> 0 bytes philo_two/obj/logic.o | Bin 8308 -> 0 bytes philo_two/obj/main.o | Bin 2356 -> 0 bytes philo_two/obj/messages.o | Bin 5104 -> 0 bytes philo_two/obj/old_utilc.o | Bin 4344 -> 0 bytes philo_two/obj/parser.o | Bin 6856 -> 0 bytes philo_two/obj/prepare_simulation.o | Bin 7848 -> 0 bytes philo_two/obj/time.o | Bin 4244 -> 0 bytes philo_two/obj/utilc.o | Bin 8868 -> 0 bytes philo_two/philo_two | Bin 19080 -> 0 bytes philo_two/srcs/ft_itoa.c | 43 --------- philo_two/srcs/ft_strjoin.c | 22 ----- philo_two/srcs/logic.c | 114 ------------------------ philo_two/srcs/main.c | 12 --- philo_two/srcs/messages.c | 13 --- philo_two/srcs/old_utilc.c | 57 ------------ philo_two/srcs/parser.c | 87 ------------------ philo_two/srcs/prepare_simulation.c | 10 +-- philo_two/srcs/time.c | 37 -------- philo_two/srcs/utilc.c | 132 ---------------------------- 26 files changed, 15 insertions(+), 662 deletions(-) delete mode 100644 philo_two/Makefile delete mode 100644 philo_two/includes/philo_header.h delete mode 100644 philo_two/obj/ft_itoa.o delete mode 100644 philo_two/obj/ft_strjoin.o delete mode 100644 philo_two/obj/logic.o delete mode 100644 philo_two/obj/main.o delete mode 100644 philo_two/obj/messages.o delete mode 100644 philo_two/obj/old_utilc.o delete mode 100644 philo_two/obj/parser.o delete mode 100644 philo_two/obj/prepare_simulation.o delete mode 100644 philo_two/obj/time.o delete mode 100644 philo_two/obj/utilc.o delete mode 100755 philo_two/philo_two delete mode 100644 philo_two/srcs/ft_itoa.c delete mode 100644 philo_two/srcs/ft_strjoin.c delete mode 100644 philo_two/srcs/logic.c delete mode 100644 philo_two/srcs/main.c delete mode 100644 philo_two/srcs/messages.c delete mode 100644 philo_two/srcs/old_utilc.c delete mode 100644 philo_two/srcs/parser.c delete mode 100644 philo_two/srcs/time.c delete mode 100644 philo_two/srcs/utilc.c diff --git a/philo_one/srcs/logic.c b/philo_one/srcs/logic.c index c170400..3058f56 100644 --- a/philo_one/srcs/logic.c +++ b/philo_one/srcs/logic.c @@ -70,7 +70,7 @@ int run_observer(t_all *all) while(1) { i = 0; - while(i <= all->number_of_philosophers) + while(i < all->number_of_philosophers) { if (all->smert != 42) { diff --git a/philo_one/srcs/prepare_simulation.c b/philo_one/srcs/prepare_simulation.c index 9a9886b..1bf6c13 100644 --- a/philo_one/srcs/prepare_simulation.c +++ b/philo_one/srcs/prepare_simulation.c @@ -5,7 +5,7 @@ int check_all_run(t_all *all) int i; i = 0; - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { if (all->data_philo->philors[i].worked) { @@ -22,7 +22,7 @@ void run_simulation(t_all *all) int i; i = 0; - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { if (!all->data_philo->philors[i].can_run_simulation) { @@ -38,17 +38,17 @@ void get_fork_for_philo(t_all *all) i = 0; - while(i <= all->number_of_philosophers) + while(i < all->number_of_philosophers) { if (i == 0) { - all->data_philo->philors[i].more_fork = all->number_of_philosophers; all->data_philo->philors[i].less_fork = 0; + all->data_philo->philors[i].more_fork = all->number_of_philosophers - 1; } else { - all->data_philo->philors[i].more_fork = i + 1; - all->data_philo->philors[i].less_fork = i; + all->data_philo->philors[i].less_fork = i - 1; + all->data_philo->philors[i].more_fork = i; } all->data_philo->philors[i].died = 0; all->data_philo->philors[i].nbr_philo = i; @@ -67,7 +67,7 @@ int prepare_resources(t_all *all) i = 0; all->data_philo = ft_calloc(sizeof(t_philo_data), 1); all->data_philo->mutex = (pthread_mutex_t *)ft_calloc(all->number_of_philosophers + 1, sizeof(pthread_mutex_t)); - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { pthread_mutex_init(&all->data_philo->mutex[i], NULL); i++; @@ -82,7 +82,7 @@ void run_all_phils(t_all *all) int i; i = 0; void *philo; - while(i <= all->number_of_philosophers) + while(i < all->number_of_philosophers) { philo = (void*)(&all->data_philo->philors[i]); if (pthread_create(&all->data_philo->philors[i].thread, NULL, (void*)run_trhead, philo) == -1) diff --git a/philo_one/srcs/utilc.c b/philo_one/srcs/utilc.c index ab94a2a..fc24656 100644 --- a/philo_one/srcs/utilc.c +++ b/philo_one/srcs/utilc.c @@ -38,7 +38,7 @@ void ft_exit(t_all *all) i = 0; all->smert = 42; ft_msleep(200); - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { pthread_mutex_destroy(&all->data_philo->philors[i].eat_mutex); pthread_mutex_destroy(&all->data_philo->mutex[i]); diff --git a/philo_two/Makefile b/philo_two/Makefile deleted file mode 100644 index b183fa6..0000000 --- a/philo_two/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -.PHONY: all clean fclean re - -SRCS = main.c utilc.c parser.c logic.c messages.c\ - prepare_simulation.c old_utilc.c time.c ft_itoa.c\ - ft_strjoin.c - - -SRC_DIR = ./srcs/ -OBJ_DIR = ./obj/ - -OBJS = $(SRCS:%.c=%.o) - -OBJS_FILES = $(addprefix $(OBJ_DIR), $(OBJS)) - -HEADER = philo_header.h - -vpath %.h includes -vpath %.o $(OBJ_DIR) -vpath %.c $(SRC_DIR) - -CC = gcc -RM = rm -f -CFLAGS = -g -Wall -Wextra -Werror -I ./includes/ - -NAME = philo_two - -all: $(OBJ_DIR) $(NAME) - -norme : - norminette $(addprefix $(SRC_DIR), $(SRCS)) - -$(OBJ_DIR): - mkdir -p obj - -$(NAME): $(OBJS_FILES) - $(CC) $(CFLAGS) -o $(NAME) $(OBJS_FILES) -lpthread - -clean: - $(RM) $(OBJS_FILES) - -$(OBJ_DIR)%.o: %.c $(HEADER) - $(CC) $(CFLAGS) -c $< -o $@ - -fclean: clean - $(RM) $(NAME) - -re: fclean $(NAME) diff --git a/philo_two/includes/philo_header.h b/philo_two/includes/philo_header.h deleted file mode 100644 index d280ce8..0000000 --- a/philo_two/includes/philo_header.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef PHILO_HEADER_H -# define PHILO_HEADER_H - -# define _SLEEP_STEP 50 -# include -# include -# include -# include -# include -# include -# include - -# define _SEM_NAME_FORKS "pSemForks" -# define _SEM_WRITE_LOCK "write" - -typedef struct s_philo_data t_philo_data; - -typedef struct s_all -{ - int number_of_philosophers; - time_t time_to_die; - time_t time_to_eat; - time_t time_to_sleep; - int number_of_times_each_philosopher_must_eat; - time_t start_time; - t_philo_data *data_philo; - sem_t *write; - int smert; - int opt; -} t_all; - - -typedef struct s_philo -{ - unsigned worked:1; - unsigned can_run_simulation:1; - pthread_t thread; - int count_eat; - time_t time_to_die; - int died; - int nbr_philo; - time_t last_eat; - time_t limit; - t_all *all_struct; - int is_eat; - sem_t *eat_sem; - char *name; -} t_philo; - -typedef struct s_philo_data -{ - sem_t *sems; - t_philo *philors; -} t_philo_data; - -void *ft_calloc(size_t num, size_t size); -t_all *structalloc_and_bzero(void); -int parse_and_check_values(char **argv, int quantity); -int ft_atoi(const char *str); -int check_f(char ch); -int runner(t_all *all); -int return_big(int a, int b); -int return_less(int a, int b); -time_t ft_get_time(void); -void *run_trhead(t_philo *philo); -int prepare_resources(t_all *all); -int check_all_run(t_all *all); -void run_simulation(t_all *all); -void run_all_phils(t_all *all); -void messages(t_all *all, t_philo *philo, char *str); -void cycle(t_philo *philo); -void ft_msleep(time_t interval_ms); -void my_usleep(long time); -void ft_exit(t_all *all); -char *ft_itoa(int n); -char *ft_strjoin(char const *s1, char const *s2); -sem_t *reopen_sem(const char *name, int value); -char *sem_set_name(char *str, int i); -size_t ft_strlcpy(char *dst, const char *src, size_t size); -size_t ft_strlcat(char *dst, const char *src, size_t size); -int ft_strlen(char *str); -void get_data_for_philo(t_all *all); -#endif diff --git a/philo_two/obj/ft_itoa.o b/philo_two/obj/ft_itoa.o deleted file mode 100644 index 74b3560ed06146929dabdf00dceaa273ba79ff02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3236 zcmb7GeP~-%6u&Po_oYqRBwhDa{0cZ(-E2PGX2;Aloqh7wtuW>~J8(YJG)*(pmyo=! zoh~pMCw;_Ws!Tz!><__#2r~R*qJOk*Zcdba2ySBksMtvh3JxYKTd|&V-+k?xZdebT zd(S!doZmh7ymN1I@%EqpI0z9$0t2uexSqn`0|u%CK8eQr&_&5yP%s9_(gBkoyU_@w zs(QR%H)T`bBe(CF*DWcJNdO@pZo9gQ5E~loVqIG(8-?-0jp=K!Ni z#7lP^h+#-M-er!rhU3*$a$$bDe}0*0tQ_y}GQ6!z#M2LD?s?ui-s4AkKGFZgGy5;0 z^{ScP4y`=DVUD++cP&Zxe)%ucJr>gF3UJ$|W zYlIsWz{8S8toyd8|KiQGfOV5yJAhs|92biAvnPq_5 z{xePZl=)(*sFv^@jAwJnwB`$i{6T-vSI?{sp->Ps|Ar0zP~+poAIN26xj>h$CiQgG zA0vUb9E1gWI^)`*T%b9gdsRP=a1f$( zq~cnFBsHCAq%)@zruJ&NWI~H~`k1{VOOiyW5gv2bQqk>Q^?>{HZFM!mGH4H*hitEf zE4YS;?q^&sXivKzJeNt4)uMZg>uJ~8y6v^k!mlx<#Kuh+AZ=WrIu-{(5w8N9??(me z?J5!k3sRFgu@QeVZ2=I)J{Tmyi~w;XEC_oKgCuy@!ANaG`rAzV9!AMF)IEgSGF$_# z^Ehg?KbqPrAEUOMYcG9*+6vT&Bf^p)WGmYCVkZb9A_D$lhA;A{eilVplvqR$yZ8Z2 z4oFdXp-Dj;ytv44zZs!TAQFK#nMK3vmri(Gzs;Q846*{uwuAXSU?g@tn4ete|R^1YA5)q!1y-@kB)m`k=6hM z;ip0qem8Ey%Ag6$#Z7BL#NrTw|2Oc6L91`^{GajW1(9q3o_9rz(t;+&y-V25xMPW3 z0TAX0dj-fG=d6T8xCOs8(4uv#EW&HMiO}yAyj6~h5_sVO@V!298;dhL%kiOe-QG8C z&sAH0>(H+m`1BpqkMFa{?@_?ClX~zJ1mTXm8YfH!STLUjc#Y=X1zaJOW;s9-y#jSP zPti)LMND?l8gZ4MR(8>q?WjrOsxb9RTVXX!9Xhpx_(U&VC$-a13*Fp8w}k2DFl`*5 zo5FNum{tu?X@H7Sf>vChlGFlXH+4!S>X3F&=^g3<7<-sj1B?w;t69#~vnqOLHtg=yt51nq#JVSwDn00hv9xUZs}+MRvW)ys?&Q0>>L z?HG0L2XBnE*`OvQ0mp@NH{kCoP{aE$KsBUBK0nN7AD>}j>znwDm2<-oVI?G_26PXX aK_vKh=q?p{ocEyG6HTSkF``-xO31$eqY-8R diff --git a/philo_two/obj/ft_strjoin.o b/philo_two/obj/ft_strjoin.o deleted file mode 100644 index 66270abc31bda4bbd14af51e746482e35c2063a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2784 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 diff --git a/philo_two/obj/main.o b/philo_two/obj/main.o deleted file mode 100644 index dfc0ba2b033eb1a3958041eb763aac4254d7dfb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmb7F&2QXP5FhWxZqiMiZBs;}0y5C5DbW3(2PCLU0twwBBv8L7Na)4uIJ=wf+Q#QXILRTTK30YRTmo9k{FUgOuF@MLqu^X-9n7LIePAujgSQAWA=Q)^=$+I`(>bQ@jA96A+va2 zFdhr|eaHIjAZWY7vpa5tHDvL=WS~=A->qHZ`SodsQnGlzG2Rizv#2??Qf9xY`U2a@ z;;m)y#&(Gp&j;J?*W%TuxTfZgc&h&zURMO&x|gl*2ID=#ct1TDUYy1Iit&yz-d{W7 zIerJvEf!sGw&hI<@!DAWxPM?gi=9R6JNlGwCEwdd8>#>y+@_ccv0D;*>-T$`@kZ2Z zs4yOzPylEqI?3ewZMQs$nBDI%&y}}1DL_1;JNK#YS$ua0S+<3_7Y7eA5|u^%zcG*W zgMDhWVLk8$a+)YN;k17@`o-GPAGO6h#qY=0D12#QwYJo~S6g1Vx7=O5O|He&+`tF@ zsBp-ibc3kVip%3`wZ-p>?|eH-AEo8AZLeX?xM9@tJ*!$RRZ10WSb9%Xs};0LCr_5D z&mD(SISQSq+_76;$$|342y@DvN!Oc?%42SHCH8}I5c<=u6G!Es*=qZdA2caQ8X}(c zfs&!+#bAdGhaNNFH0=^*W8_fYe7^8P;n>jG z!58r-k=G%|uCs$Ux{pBKJY6W@G3x_B9_S*|LL;9n8d*9NZG+xz>Q~L4C^voNLZ**-o*M~3wk13oJPb+D#EtkgE2F(bP m*sd@j(NRGnHD%&(3hXd)g^gp=X}Zo8F=My8_}dWbF#iXfejZ`~ diff --git a/philo_two/obj/messages.o b/philo_two/obj/messages.o deleted file mode 100644 index d8299411feabf1a49ae5c02abad3f2e5b24618e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5104 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 diff --git a/philo_two/obj/parser.o b/philo_two/obj/parser.o deleted file mode 100644 index afafe8dbd16351ddaa55002cc03d670454c7f4a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6856 zcmb_h3v3+48J;_P_ilZ*@0=G7fn-yX#sTcJlK_E)U_(qVCMh8g>J*~&`fg(%z88CY zP6DJvF#$|kFr`$bt!O1uwX}_jNGr7j5R^uVcnBnrimJ3qi%JtURZT%r3KaT%yR$yu zC8(jw$TR{>NW+9j*2o9^%R+(QHG{^g72^oiciC) zV2zTAVi=CK&GB%L-q78xugi{2+JwkQDopzJ%>I7c8s_&` z+DoWjw>M?)qY>ZC1U#d?bZ$$Y8rAk@G1w@*($D?%9{qj9Pfp(%?PblRYqHv2vCiwy zoM4H>JUFSXvS$_w8Oz9-S*r-8YI}~f=chpZS=!6@-tDf4 zR@B%^frf70a-* z;GYaZg@216Zbo%wjYu|D6e^K_1pT%{cB=$ z$M|UJ#K?{lB6`m#IwtmXkB=-B(TBLW4|RV`=Z?QC1&NVu;VRK9Wl^k3^i)~YTqSx` zibl5SRgya)InM3pjE-zBo2+)^+OnwHkp*Q@wIlq>pf<4_IZ+-EaYgT-EX;e%c+6yYTx`)znRiad!SBOww9qpjn7B6n= zxMHDbix=%=F`6_V+bdm zwG1b3q|%nexmTJtHgUs~iA)~fN|U~>WtQ<`#6o4p9QD4HEciQ_u(Cx_w6caHT&`X8m3=+2HE$1DDN)K5(*rpx<+_?QbB0~Y z8O3zAlrcG*!WpzJGbIWhguRLHoW#l(%-c(rF^K~c15iyOQ*xyOE`Vlo==83Gn1c+$ zYg$A_P+jZRb!{@%ulj1Yv0>BNZo?4Cd@1Ke3A2$B zxqe%QCu7R!WzyNSJGH!smXeN0GuDnkH4r4h>xvF0i`z?P z&PhAlMSnh@5rL+_{KlzDO=Il5S&hHEc4kvx3T~dkHt?sYoy|3kS4EaZ7R+2V^%@@3 ziU>;9D%=NZmsF6-JWRm}a_>p;$yeiPjTh4w$ z`4O91H3+9d4QTd(4$cnm2S@~`XukoZVsM(!-T-_MD#7VtjVGsz&xmP^my4g*tjz%K z>No2eKh)*VY|(B2{xj6z`R&>h82$+HSxdDifxG$_bZWow@e5aq&|^^Gkx@G*v=`_* zKx?)s?*k}d^(k;d2hiM%8jOXL0I}dAtpMm+ULv$RfuErGvanG93?#&HNEGDUBF??ikLCTI?{bX@NkbZGrAd4G?)OtsDiu22l)SjFv#u^y|qbDe~TW4z;W{vhJLkx}$5x$*P62+lhsRN_pIdG|A> z(b&Xgk+VKlzDF?=%b!r@GvZ_Jjfg>-C^KOT#cLSdt! z>wkHA(x21xet^%f6|cdAKp^l@V*>%5Cc}F=_%DdIws<<1%#>2N-^W*{`)$+Sj`zc` zmB|+@JAPe0n?+`>#?1jq7_m+S@vov=viB@lw(Dt;ExdmtKBu zEEVyRF}z>8&WUHRcMctsxhA}a6W?G6uJ^(i#Df5@vOz9P?*o8iM&!!}M6KZC!z>Ku zZ3`rhh4ND4PkZ1YHOf4X#sydAA$E2}t=p&eC?R!FxrlH%ZfOHb=z!8ps`t#)`4zIu zN%gpz!2?R@mjBC;T4Oz<1l5`gdzC;*5zi^Xx^P@+fN51NpDunqFm2k1|`0 zD>F##Ql^o*VG^Z-YW8F^dX(j$mU#UZ^(Zy!)k;0Aou`(R2w=_QFnsUlHT<{&!!CINyVdAp)MhStM>;eQ-3MwC=kC8CGGE_-ICU&P7?Gab+N9BzNL!Bo2^2B zZWWDX!(T;=(+*U=+;bM*$lfCt$4oxyYW3e?*?A#<>+sH6X+siQaB?~MG%VwPKh73` LpO7sJ!;1d`MRYe} diff --git a/philo_two/obj/prepare_simulation.o b/philo_two/obj/prepare_simulation.o deleted file mode 100644 index 7343fa7ba8880d71fbe67048b5a5cdfb34319d31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7848 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 Y{&8rTWuz!aGOfkX!Z0xr#unKB0S=*IAOHXW diff --git a/philo_two/obj/time.o b/philo_two/obj/time.o deleted file mode 100644 index 294aaf7e3eeb9da3ca412512d873ecd9403318f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4244 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 B9qj-B diff --git a/philo_two/philo_two b/philo_two/philo_two deleted file mode 100755 index 97f579303dc54ce5e2cc8aafe9c457c984c05be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19080 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 diff --git a/philo_two/srcs/ft_itoa.c b/philo_two/srcs/ft_itoa.c deleted file mode 100644 index d2161e4..0000000 --- a/philo_two/srcs/ft_itoa.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "../includes/philo_header.h" - -static int nbleng(unsigned int n) -{ - unsigned int i; - - i = 0; - while (n >= 10) - { - n /= 10; - i++; - } - return (i + 1); -} - -char *ft_itoa(int n) -{ - char *dst; - unsigned int leng; - unsigned int nbr; - unsigned int i; - - nbr = (n < 0 ? -n : n); - leng = nbleng(nbr); - i = 0; - if (!(dst = (char *)malloc(sizeof(char) * leng + 1 + (n < 0 ? 1 : 0)))) - return (NULL); - if (n < 0) - { - dst[i] = '-'; - leng++; - } - i = leng - 1; - while (nbr >= 10) - { - dst[i] = nbr % 10 + '0'; - nbr /= 10; - i--; - } - dst[i] = nbr % 10 + '0'; - dst[leng] = '\0'; - return (dst); -} diff --git a/philo_two/srcs/ft_strjoin.c b/philo_two/srcs/ft_strjoin.c deleted file mode 100644 index b1208f0..0000000 --- a/philo_two/srcs/ft_strjoin.c +++ /dev/null @@ -1,22 +0,0 @@ -#include "../includes/philo_header.h" - -char *ft_strjoin(char const *s1, char const *s2) -{ - int len1; - int len2; - char *new; - - if (s1 && s2) - { - len1 = ft_strlen((char*)s1); - len2 = ft_strlen((char*)s2); - new = malloc(sizeof(char *) * len1 + len2 + 1); - if (new) - { - ft_strlcpy(new, s1, len1 + 1); - ft_strlcat(new, s2, len1 + len2 + 1); - return (void *)(new); - } - } - return (0); -} diff --git a/philo_two/srcs/logic.c b/philo_two/srcs/logic.c deleted file mode 100644 index 2c060b5..0000000 --- a/philo_two/srcs/logic.c +++ /dev/null @@ -1,114 +0,0 @@ -#include "../includes/philo_header.h" - -void *run_trhead(t_philo *philo) -{ - philo->worked = 1; - while(1) - { - if (philo->can_run_simulation) - break; - } - if (philo->can_run_simulation) - { - while( philo->all_struct->smert != 42) - { - if (philo->all_struct->opt) - { - if (philo->count_eat == philo->all_struct->number_of_times_each_philosopher_must_eat) - philo->all_struct->smert = 42; - } - cycle(philo); - } - } - return(NULL); -} - -void take_forks(t_philo *philo) -{ - t_all *all; - all = philo->all_struct; - - - - messages(philo->all_struct, philo, "thinking"); - sem_wait(all->data_philo->sems); - messages(philo->all_struct, philo, "has taken a fork"); - sem_wait(all->data_philo->sems); - messages(philo->all_struct, philo, "has taken a fork"); -} -void eating(t_philo *philo) -{ - t_all *all; - all = philo->all_struct; - - - - sem_wait(philo->eat_sem); - messages(philo->all_struct, philo, "eating"); - philo->last_eat = ft_get_time() - philo->all_struct->start_time; - ft_msleep(philo->all_struct->time_to_eat); - philo->count_eat++; - sem_post(philo->eat_sem); -} -void sleeping(t_philo *philo) -{ - t_all *all; - all = philo->all_struct; - - - - messages(philo->all_struct, philo, "sleeping"); - sem_post(all->data_philo->sems); - sem_post(all->data_philo->sems); - ft_msleep(philo->all_struct->time_to_sleep); -} - -void cycle(t_philo *philo) -{ - take_forks(philo); - eating(philo); - sleeping(philo); -} - -int run_observer(t_all *all) -{ - int i; - i = 0; - time_t time_eat; - while(1) - { - i = 0; - while(i <= all->number_of_philosophers) - { - sem_wait(all->data_philo->philors[i].eat_sem); - if (all->smert != 42) - { - time_eat = (ft_get_time() - all->start_time) - all->data_philo->philors[i].last_eat; - if (time_eat > all->time_to_die) - { - printf("%ld %d died\n", ft_get_time() - all->start_time, i + 1); - return(2); - } - } - else - return(2); - sem_post(all->data_philo->philors[i].eat_sem); - i++; - } - } - return (0); -} - -int runner(t_all *all) -{ - prepare_resources(all); - run_all_phils(all); - if (check_all_run(all)) - { - all->start_time = ft_get_time(); - run_simulation(all); - } - if (!run_observer(all)) - return(0); - return(1); -} diff --git a/philo_two/srcs/main.c b/philo_two/srcs/main.c deleted file mode 100644 index 01b6bd3..0000000 --- a/philo_two/srcs/main.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "../includes/philo_header.h" - -int main(int argc, char **argv) -{ - if (parse_and_check_values(argv, argc) == 2) - return(0); - else - { - return (1); - } - return(0); -} diff --git a/philo_two/srcs/messages.c b/philo_two/srcs/messages.c deleted file mode 100644 index 35dd993..0000000 --- a/philo_two/srcs/messages.c +++ /dev/null @@ -1,13 +0,0 @@ -#include "../includes/philo_header.h" - -void messages(t_all *all, t_philo *philo, char *str) -{ - time_t timestemp = ft_get_time() - all->start_time; - if (philo->all_struct->smert != 42) - { - sem_wait(all->write); - printf("%ld %*s%d %s\n", timestemp, philo->nbr_philo * 30, "", philo->nbr_philo, str); - sem_post(all->write); - } - -} diff --git a/philo_two/srcs/old_utilc.c b/philo_two/srcs/old_utilc.c deleted file mode 100644 index 3d505cb..0000000 --- a/philo_two/srcs/old_utilc.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "../includes/philo_header.h" - -int check_f(char ch) -{ - if (ch == '\t' || ch == '\n' || ch == ' ' || \ - ch == '\v' || ch == '\f' || ch == '\r') - return (1); - else - return (0); -} - -int ft_atoi(const char *str) -{ - int i; - unsigned long int result; - int operator; - - i = 0; - operator = 1; - result = 0; - while (check_f(str[i])) - i++; - if (str[i] == '-' || str[i] == '+') - { - if (str[i] == '-') - operator *= -1; - i++; - } - while (str[i] >= '0' && str[i] <= '9') - { - if (result > 922337203685477580 && operator == -1) - return (0); - else if (result > 922337203685477580 && operator == 1) - return (-1); - result = result * 10 + str[i] - '0'; - i++; - } - return (result * operator); -} - -void *ft_calloc(size_t num, size_t size) -{ - void *addr; - unsigned int nbytes; - - nbytes = num * size; - addr = malloc(nbytes); - if (!size || !num || (size == 0 && num == 0)) - return ((void *)addr); - if (!addr) - return (NULL); - else - { - memset(addr, '\0', nbytes); - } - return ((void *)addr); -} diff --git a/philo_two/srcs/parser.c b/philo_two/srcs/parser.c deleted file mode 100644 index 55f6723..0000000 --- a/philo_two/srcs/parser.c +++ /dev/null @@ -1,87 +0,0 @@ -#include "../includes/philo_header.h" - -int check_param(t_all *all, int optional) -{ - if (optional) - { - if (all->number_of_philosophers <= 0) - return(1); - if (all->time_to_die <= 0) - return(1); - if (all->time_to_eat <= 0) - return(1); - if (all->time_to_sleep <= 0) - return(1); - if (all->number_of_times_each_philosopher_must_eat <= 0) - return(1); - } - else - { - if (all->number_of_philosophers <= 0) - return(1); - if (all->time_to_die <= 0) - return(1); - if (all->time_to_eat <= 0) - return(1); - if (all->time_to_sleep <= 0) - return(1); - } - return (0); -} - -int parse_param(t_all *all, int optional, char **argv) -{ - all->smert = 0; - if (optional) - { - all->number_of_philosophers = ft_atoi(argv[1]); - all->time_to_die = ft_atoi(argv[2]); - all->time_to_eat = ft_atoi(argv[3]); - all->time_to_sleep = ft_atoi(argv[4]); - all->number_of_times_each_philosopher_must_eat = ft_atoi(argv[5]); - all->opt = 1; - return (check_param(all, 1)); - } - else - { - all->number_of_philosophers = ft_atoi(argv[1]); - all->time_to_die = ft_atoi(argv[2]); - all->time_to_eat = ft_atoi(argv[3]); - all->time_to_sleep = ft_atoi(argv[4]); - all->number_of_times_each_philosopher_must_eat = 0; - all->opt = 0; - return (check_param(all, 0)); - } -} - -int parse_and_check_values(char **argv, int quantity) -{ - t_all *all; - int bool; - - if (quantity == 5) - bool = 0; - if (quantity == 6) - bool = 1; - all = structalloc_and_bzero(); - if (quantity == 5 || quantity == 6) - { - if (!parse_param(all, bool, argv)) - { - if (runner(all) == 2) - return (2); - return(1); - } - else - { - printf("bad arg\n"); - return (0); - } - } - else - { - printf("error please use argument 5 (optional) or 4 (standart)\n"); - free(all); - return(0); - } -} diff --git a/philo_two/srcs/prepare_simulation.c b/philo_two/srcs/prepare_simulation.c index 43d0bf9..9ce130a 100644 --- a/philo_two/srcs/prepare_simulation.c +++ b/philo_two/srcs/prepare_simulation.c @@ -5,14 +5,14 @@ int check_all_run(t_all *all) int i; i = 0; - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { if (all->data_philo->philors[i].worked) { i++; } } - printf("все запустились !\n"); + // printf("все запустились !\n"); return (1); } @@ -22,7 +22,7 @@ void run_simulation(t_all *all) int i; i = 0; - while (i <= all->number_of_philosophers) + while (i < all->number_of_philosophers) { if (!all->data_philo->philors[i].can_run_simulation) { @@ -38,7 +38,7 @@ void get_data_for_philo(t_all *all) i = 0; - while(i <= all->number_of_philosophers) + while(i < all->number_of_philosophers) { all->data_philo->philors[i].name = sem_set_name("philo", i); all->data_philo->philors[i].eat_sem = reopen_sem(all->data_philo->philors[i].name, 1); @@ -74,7 +74,7 @@ void run_all_phils(t_all *all) int i; i = 0; void *philo; - while(i <= all->number_of_philosophers) + while(i < all->number_of_philosophers) { philo = (void*)(&all->data_philo->philors[i]); if (pthread_create(&all->data_philo->philors[i].thread, NULL, (void*)run_trhead, philo) == -1) diff --git a/philo_two/srcs/time.c b/philo_two/srcs/time.c deleted file mode 100644 index 9bb4559..0000000 --- a/philo_two/srcs/time.c +++ /dev/null @@ -1,37 +0,0 @@ -#include "../includes/philo_header.h" - -time_t ft_get_time(void) -{ - time_t return_value; - struct timeval current_time; - gettimeofday(¤t_time, NULL); - return_value = (current_time.tv_sec * 1000) + (current_time.tv_usec / 1000); - return (return_value); -} - -void ft_msleep(time_t interval_ms) -{ - time_t end_ms = ft_get_time() + interval_ms; - time_t now_ms = ft_get_time(); - - while (now_ms < end_ms) - { - usleep(_SLEEP_STEP); - now_ms = ft_get_time(); - } -} - -long get_time(void) -{ - struct timeval time; - gettimeofday(&time, NULL); - return ((long)(time.tv_sec * 1000 + time.tv_usec / 1000)); -} - -void my_usleep(long time) -{ - long t; - t = get_time(); - while (get_time() - t < time) - usleep(1); -} diff --git a/philo_two/srcs/utilc.c b/philo_two/srcs/utilc.c deleted file mode 100644 index 0b25c8e..0000000 --- a/philo_two/srcs/utilc.c +++ /dev/null @@ -1,132 +0,0 @@ -#include "../includes/philo_header.h" - -t_all *structalloc_and_bzero(void) -{ - t_all *all; - - all = ft_calloc(sizeof(t_all), 1); - all->number_of_philosophers = -1; - all->time_to_die = -1; - all->time_to_eat = -1; - all->time_to_sleep = -1; - all->number_of_times_each_philosopher_must_eat = -1; - return(all); -} - -size_t ft_strlcpy(char *dst, const char *src, size_t size) -{ - unsigned int i; - unsigned int count; - - count = 0; - if (!dst && !src) - return (0); - while (src[count] != '\0') - { - ++count; - } - i = 0; - if (size > 0) - { - while (src[i] != '\0' && i < (size - 1) && src[i]) - { - dst[i] = src[i]; - ++i; - } - dst[i] = '\0'; - } - return (count); -} - -size_t ft_strlcat(char *dst, const char *src, size_t size) -{ - unsigned int i; - unsigned int len; - - len = 0; - if (!dst && !src) - return (0); - len = ft_strlen(dst); - i = 0; - if (size < len) - return (ft_strlen((char *)src) + size); - if (size) - { - while (src[i] && len + 1 < size) - dst[len++] = src[i++]; - dst[len] = '\0'; - } - while (src[i]) - { - i++; - len++; - } - return (len); -} - - -int ft_strlen(char *str) -{ - int i; - - i = 0; - while (str[i]) - i++; - return(i); -} - -int return_big(int a, int b) -{ - if (a > b) - { - return (a); - } - return (b); -} - -int return_less(int a, int b) -{ - if (a < b) - { - return (a); - } - return (b); -} - -void ft_exit(t_all *all) -{ - int i; - - i = 0; - all->smert = 42; - ft_msleep(200); - while (i <= all->number_of_philosophers) - { - // pthread_mutex_destroy(&all->data_philo->philors[i].eat_mutex); - //pthread_mutex_destroy(&all->data_philo->mutex[i]); // TODO fix this - i++; - } - i = 0; - while (i < all->number_of_philosophers) - { - free(&all->data_philo->philors[i]); - i++; - } -} - -char *sem_set_name(char *str, int i) -{ - char *temp_nbr; - char *returnstr; - - temp_nbr = ft_itoa(i); - returnstr = ft_strjoin(str, temp_nbr); - free(temp_nbr); - return(returnstr); -} - -sem_t *reopen_sem(const char *name, int value) -{ - sem_unlink(name); - return (sem_open(name, O_RDWR | O_CREAT, S_IRWXU, value)); -}