From c4ec3b4000c2d8286288a6fb17cff3c51c608d1b Mon Sep 17 00:00:00 2001 From: whaffman Date: Mon, 20 Jan 2025 01:30:02 +0100 Subject: [PATCH] debug messages about forks and ids --- philo/philo | Bin 42944 -> 43072 bytes philo/src/create_philos.c | 2 +- philo/src/philo_routine.c | 14 +++++++------- philo/src/utils/print_rules.c | 21 +++++++++++++++++++++ 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/philo/philo b/philo/philo index 8ce4455cf6858e8eae19805bc2606a361e15839a..c1f20e05955f2fca08be4569db24e7559ee2923f 100755 GIT binary patch delta 2805 zcmZ`*4^&iD8o&1r12Y2(4DxRnW*#&s6aqQ3;(tIL8a%Ztg@qn+1VKS?L_oLWQ7Mab z8gS8XDJ?o07B1(kx%E1mow8N3$ZgNAr}lJqT?^S&8`K1JZKc?~``z~j80~a9^M3b! zzwiHd-#eW83p;g=wWl+3Xy5%`8;%)?vW^+SNVD{Hq3W?tE~42qx@?wuoIvohp=nXS zI%67f7i__g}=k;qjE}!#nzEYb%P6vH) zGuXFbFdSD(PeM_A8hr^i#m}OZ&=o(&xFCTLm-kDTx6gk-Lx_JQ6t2e?vYt?IB)m=M z!8Zv`N?>MU`_kwzLRwC3Np!Voo8p8~pa0?iaDIYfrh}#UMBGuJp@4lNnyi+QQa zpAc>G*P@b=$F)`HU^!egS?FcpCR1Emz|9Z0Cu99w3)x9oY^Mg?Nsp%9k5zknv0Z+b zFF)OvpODdu?eIA-y1b{o=h59x_#$a`wdC^dKn1bFDq+@}6^@ zzNm3!s6apUMIoWM=${sps2g28>l~wMA#-`$LEAmOU&Z7X>{Dhkzf~7 zf8^psz{TKmm|0L>kUcH7+2=}7MfE?C>afdKAEl~1^%E+0e0bY#D%D8AsWjfYr<%yt zjhyrL_Ol<|inM&c!sWdz_n4C?TX7RUNnXqbM!;aP>mSnbZ1paI(Vvml% z{Fo$gSZ%X54=d5{VDuajxP0=AcdgG~Jb6wR=YnB)!I~YpJX*<9P0BtDpIXP_w+x{x zuX=~Q%cVc0V+#H?L+}r&h{XPS7FP8C6Cot*VJv2(kdn4 zr>1fqZVg2E8JE>>s_`^cHOxz^H;{2cwMbKZ)08}YY@_ub(9Pl#J@z|~pPX*)#Q=u+O0NP;8G+tj5Yj zmE+5dn^yek;TgM??u6Iy84joMxdsLl33XU$C#2x>eJF5P86SWOM=C9V78GT`8;<+v zE;x&O8w}!eF6e(Yqj~QY&aYtM#5pzUdA4LqsOBpg5vC&|Tp89?f^{y${RH16SfcRT zk>8AbS}p%=FDp^nk0EHMF+qSP={>BA?JJF`AygY$iZZsZj*xV$LQAObxPg!m4@#3| zQ5UXD$twP!0x8i!enlNCw7{DcOIV5pZdJ@=SV8LA>9*D3goG;AeF5u!i)yA!0k;l4 zT4%z6wTBoMIkz&yW{x0as$!FenTb`5jS)+k4B|U_7%Iw?->#gZVc3Y%>u1{>Q?PEu zs3c(2EC~}rlyM=xX@ETUJa9jvmseL;Foq55-H>6+m`X^vVz@3~__-v^2vO#UI6qvD ztc}+&Y-qaYO9R|!h?f8N)DvML#@DnadF9h*LTEo&T0G6Sb;oq?i$84${&ZWk59Da= zyR;hJIusnz8XwYzxLtkVegwhL` zpcW^dMF{k?I7Hw3TSi4I&p-c)XwENpUlygV-g8hCFuLcs-ZVZyjoUQ3OZV zyMHgOhGKY#mdOVpjN(Owu3v8z!!>mjn(l4QEo_+)Eiv4-jzXoS9jh^_ociM9R9v}j zFHH|;C!?UNE6Z>=6=UH-m*=|*=_*J$lC7Wo$8zP7TtkjsRmri-FCQsn6kyF6SQ3RWJ?(|5e8>TQ7X!`A-; Djg^sK delta 2351 zcmZ8j3s6*57(VALk6l2X!ooh-1rgB!A;3q;OB7@k$7hBPiJ&Me4wjH*qk&VRJ3uPG zm>NEKgidK$*BTwo2U$*2f#!^(jiQ*wDmWsTZ|C%%dzXhDhV$M3eE;{q&fT3oeV(0e zWm_Ux*`BSV+T5%@L|#@O@TH?QkuHiEDOqSV^)bXMWxb<4Doaz$ zjKpIfRj*|cjs7Sk9krigY=mO^gMzAkkpgSOoHiJbw zoYulhZ7j7yy>`5BdLSVgwo4hdbM_r7LhN5VLzgz4Ep>+Y!0)I9Is((^P>2fJGP%W> zkPWBb3(BZ+t_%>ObN0-~oFAoF>76Xxk?3>~aY$rTr5zSd8=rBGx?rTQ0o57JEe@wg zj|QABV{V7jNl4Ney}oxi9YZI3j0%?PjC3b#!o3=rbisyfg+D6BWG_S~xsJ{Sn56)2 z=z{4>;5uDEq9e@ne+P28J3+L5G@HO6M?X8X11q;Re^@_Qd zh`E<5eoD#L(OG`F(<(fb#?Ae*m;u@1!LkGWvK>N(bMSLh60JlAGDG$3a1Z#HEv%*o zvdzh{M;<8M<5*)vJ&gmlS=ieK>+M zNeMBb6c)WU2h_21N~vBo;XGCrg#S)$oIBy0bqg^P@gd@5#Ix5q??V324bHRCPHpFW zE#iH|TErzcIX{6||2OAX5pN*AKs4Rr+`tI=7%>6y4&oxj2e&ydLoDjxGk7CD#N6Th zEMh+5EySCM9^%7w7YjjbM$AO)KwN=X*2#G#Vh`d$MDsn)e@8672czP`>3NtHr=?H8 z8aIL-hOKehpaa)97hU!(13pyZzXi_3ndnJq$9)>mcoW?RA-JD}iMU^dT-=|-`gjvd zz6tg5p>#d`j7L_u9X|}emo#HcbP0^aeGOQ~j3{mShw}!JBhAyhoJ|_y!ghJMstFP4 zvazpO9h@f)=1XK+=GP*R1L4C5^VtJ@E%L?4?;OmtE&cINFj7jo&|%dp4%U8$s~8~3 z&iQD(nf?M*!>Mo(1-?K&69+%%75&tHy#WVYiu`Y{=$mD|kPspjjlJsvGc_rYl{lVd zhe*|l6P;)Se9N@Hk;pUhx`_~+2d+8;yqp;3k#Fuhs5L@VYM4i9NZ)~HFuaWiLvbLA zB*6q#c%a4)l5()wB>k8=&%jcrU}Q(wB@3bN3*`Q=4R#hr%mvA{!*V=_$=Cyv7(#a!k=BH_5Q(EmtR>I_Dti{j#%8bR8sYDDvu6A5tF| zf6i2WoT)%xo+?I>Q~p%6w_xMvqTt6HZ;SM8n|6v|Yi!?WbbTY0-*`-#g41Heo3t4q z6+WdAZ~>-JgA}yQmEy|+p*5?;xOdg0>;7MEFSg-}N=)~xCSBx7-M$dBO7+|4QE~6j zJ_~neA9_J(!)Ukc5X^-OLoR4Yr+TPsh}I1JB)QTs&aK<=L!~=b(lw?tS`N8Q<21Qq yWVoh59a;z1Db{dkZyLug*g&^G32UCeKbala0=v*ifh+ryHU7I5zva-r&-5SE==Pof diff --git a/philo/src/create_philos.c b/philo/src/create_philos.c index 08a8a76..e36096e 100644 --- a/philo/src/create_philos.c +++ b/philo/src/create_philos.c @@ -11,7 +11,7 @@ int create_philos(t_rules *rules) return(FAILURE); while (i < rules->n_philos) { - philo = &rules->philos[i]; + philo = &(rules->philos[i]); philo->id = i + 1; philo->l_fork = &rules->forks[i]; philo->r_fork = &rules->forks[i + 1 % rules->n_philos]; diff --git a/philo/src/philo_routine.c b/philo/src/philo_routine.c index f2807e1..4f11377 100644 --- a/philo/src/philo_routine.c +++ b/philo/src/philo_routine.c @@ -17,7 +17,7 @@ int get_finished(t_rules *rules) } void philo_die(t_philo *philo) { - print_status(philo, "died 💀"); + print_status(philo, "died"); philo->death = 1; set_finished(philo->rules); pthread_mutex_unlock(philo->l_fork); @@ -40,18 +40,18 @@ int philo_eat(t_philo *philo) if (philo->id % 2 == 1) { pthread_mutex_lock(philo->r_fork); - print_status(philo, "has taken a fork 🍴"); + print_status(philo, "has taken a fork"); } pthread_mutex_lock(philo->l_fork); - print_status(philo, "has taken a fork 🍴"); + print_status(philo, "has taken a fork"); if (philo->id % 2 == 0) { pthread_mutex_lock(philo->r_fork); - print_status(philo, "has taken a fork 🍴"); + print_status(philo, "has taken a fork"); } if (check_death(philo)) return (philo_die(philo), FAILURE); - print_status(philo, "is eating 🍝"); + print_status(philo, "is eating"); philo->last_meal = get_time(); philo->n_eat++; return (SUCCESS); @@ -77,10 +77,10 @@ void *philo_routine(void *arg) return (philo_die(philo), NULL); pthread_mutex_unlock(philo->l_fork); pthread_mutex_unlock(philo->r_fork); - print_status(philo, "is sleeping 💤"); + print_status(philo, "is sleeping"); if (philo_died_while_sleeping(philo, philo->rules->time_to_sleep)) return (philo_die(philo), NULL); - print_status(philo, "is thinking 💭"); + print_status(philo, "is thinking"); } return (NULL); } \ No newline at end of file diff --git a/philo/src/utils/print_rules.c b/philo/src/utils/print_rules.c index 5f00b7e..7845ff7 100644 --- a/philo/src/utils/print_rules.c +++ b/philo/src/utils/print_rules.c @@ -2,9 +2,30 @@ void print_rules(t_rules *rules) { + int i; + printf("n_philos: %d\n", rules->n_philos); printf("time_to_die: %d\n", rules->time_to_die); printf("time_to_eat: %d\n", rules->time_to_eat); printf("time_to_sleep: %d\n", rules->time_to_sleep); printf("n_must_eat: %d\n", rules->n_must_eat); + i = 0; + while (i < rules->n_philos) + { + printf("philo %d has id: %d\n", i, rules->philos[i].id); + i++; + } + i = 0; + while (i < rules->n_philos) + { + printf("fork %d has pointer:%p\n", i, &rules->forks[i]); + i++; + } + i = 0; + while (i < rules->n_philos) + { + printf("philo %d\n has l_fork %p and r_fork: %p\n", rules->philos[i].id, rules->philos[i].l_fork, rules->philos[i].r_fork); + i++; + } + } \ No newline at end of file