From 7790cc49449e01ae7bbfbfe413b45e7d63390909 Mon Sep 17 00:00:00 2001 From: Matthos Denys Date: Wed, 12 May 2021 17:40:56 +0300 Subject: [PATCH] add maybe work create mutex and getfork for philo --- .vscode/configurationCache.log | 2 +- .vscode/dryrun.log | 9 ++-- .vscode/launch.json | 16 ++++++ .vscode/targets.log | 84 +++++++++++++++++++----------- philo_one/Makefile | 2 +- philo_one/includes/philo_header.h | 8 ++- philo_one/obj/logic.o | Bin 1936 -> 7184 bytes philo_one/obj/main.o | Bin 888 -> 2520 bytes philo_one/obj/parser.o | Bin 2204 -> 6372 bytes philo_one/obj/utilc.o | Bin 1788 -> 6312 bytes philo_one/philo_one | Bin 9256 -> 15104 bytes philo_one/srcs/logic.c | 32 ++++++++++++ workspace.code-workspace | 10 ++++ 13 files changed, 125 insertions(+), 38 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 workspace.code-workspace diff --git a/.vscode/configurationCache.log b/.vscode/configurationCache.log index 02749e8..bab9054 100644 --- a/.vscode/configurationCache.log +++ b/.vscode/configurationCache.log @@ -1 +1 @@ -{"buildTargets":["all"],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}} \ No newline at end of file +{"buildTargets":[],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}} \ No newline at end of file diff --git a/.vscode/dryrun.log b/.vscode/dryrun.log index 5dbd0b2..a76ff7a 100644 --- a/.vscode/dryrun.log +++ b/.vscode/dryrun.log @@ -1,6 +1,7 @@ -make all --dry-run --keep-going --print-directory -make: Entering directory `/Users/denisnadey/Desktop/Project/с/Philosophers' -make: Leaving directory `/Users/denisnadey/Desktop/Project/с/Philosophers' +make --dry-run --always-make --keep-going --print-directory +make: Entering directory `/Users/mdenys/Desktop/projects/philosophers' -make: *** No rule to make target `all'. +make: Leaving directory `/Users/mdenys/Desktop/projects/philosophers' + +make: *** No targets specified and no makefile found. Stop. diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..b114f30 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,16 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "lldb", + "request": "launch", + "name": "Debug", + "program": "${workspaceFolder}/philo_one/philo_one", + "args": ["5", "1", "1", "1", "1"], + "cwd": "${workspaceFolder}" + } + ] +} diff --git a/.vscode/targets.log b/.vscode/targets.log index 0d230d3..f9b0452 100644 --- a/.vscode/targets.log +++ b/.vscode/targets.log @@ -7,11 +7,8 @@ make all --print-data-base --no-builtin-variables --no-builtin-rules --question # This program built for i386-apple-darwin11.3.0 -make: *** No rule to make target `all'. Stop. - -# Make data base, printed on Sun May 9 12:20:42 2021 - +# Make data base, printed on Wed May 12 17:25:51 2021 # Variables @@ -28,27 +25,30 @@ VSCODE_LOG_NATIVE = false # automatic @F = $(notdir $@) # makefile -CURDIR := /Users/denisnadey/Desktop/Project/с/Philosophers +CURDIR := /Users/mdenys/Desktop/projects/philosophers # makefile SHELL = /bin/sh # environment -VSCODE_NLS_CONFIG = {"locale":"ru","availableLanguages":{},"_languagePackSupport":true} +VSCODE_NLS_CONFIG = {"locale":"en-us","availableLanguages":{},"_languagePackSupport":true} # environment _ = /usr/bin/make # makefile MAKEFILE_LIST := # environment -VSCODE_NODE_CACHED_DATA_DIR = /Users/denisnadey/Library/Application Support/Code/CachedData/cfa2e218100323074ac1948c885448fdf4de2a7f +VSCODE_NODE_CACHED_DATA_DIR = /Users/mdenys/Library/Application Support/Code/CachedData/cfa2e218100323074ac1948c885448fdf4de2a7f # environment VSCODE_VERBOSE_LOGGING = true # environment -__CFBundleIdentifier = com.microsoft.VSCode -# environment -VSCODE_IPC_HOOK_EXTHOST = /var/folders/kq/kc3pf_ns62n6hc7n74119qf00000gn/T/vscode-ipc-d8ce7923-f56f-4eb9-b774-6248ac64f344.sock +VSCODE_IPC_HOOK_EXTHOST = /var/folders/zz/zyxvpxvq6csfxvn_n003vhs000yw68/T/vscode-ipc-5e87255d-4c59-4ce0-938f-d9af1a63e1c5.sock # environment VSCODE_CWD = / # environment -PATH = /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/denisnadey/development/flutter/bin:/opt/homebrew/bin +Apple_PubSub_Socket_Render = /private/tmp/com.apple.launchd.EPpFRNecPx/Render +# environment +PATH = /Users/mdenys/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/mdenys/.brew/bin + +make: *** No rule to make target `all'. Stop. + # environment VSCODE_LOG_STACK = false # environment @@ -56,23 +56,25 @@ ELECTRON_RUN_AS_NODE = 1 # default .FEATURES := target-specific order-only second-expansion else-if archives jobserver check-symlink # environment -SSH_AUTH_SOCK = /private/tmp/com.apple.launchd.F5MO7Kk0sJ/Listeners +SSH_AUTH_SOCK = /private/tmp/com.apple.launchd.HmOvHs1Y9f/Listeners # automatic %F = $(notdir $%) # environment +HOMEBREW_TEMP = /tmp/mdenys/Homebrew/Temp +# environment VSCODE_PIPE_LOGGING = true # environment -PWD = /Users/denisnadey/Desktop/Project/с/Philosophers +PWD = /Users/mdenys/Desktop/projects/philosophers # environment ORIGINAL_XDG_CURRENT_DESKTOP = undefined # environment VSCODE_AMD_ENTRYPOINT = vs/workbench/services/extensions/node/extensionHostProcess # environment -HOME = /Users/denisnadey +HOME = /Users/mdenys # default MAKEFILEPATH := /Applications/Xcode.app/Contents/Developer/Makefiles # environment -LOGNAME = denisnadey +LOGNAME = mdenys # environment APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL = true # environment @@ -81,31 +83,40 @@ VSCODE_HANDLES_UNCAUGHT_ERRORS = true ^D = $(patsubst %/,%,$(dir $^)) # environment XPC_FLAGS = 0x0 +# environment +COLORTERM = truecolor # default MAKE = $(MAKE_COMMAND) -# default -MAKECMDGOALS := all # environment -SHLVL = 1 +LC_TERMINAL = iTerm2 +# environment +HOMEBREW_CACHE = /tmp/mdenys/Homebrew/Caches +# environment +SHLVL = 2 # default MAKE_VERSION := 3.81 # environment -USER = denisnadey +USER = mdenys # makefile .DEFAULT_GOAL := +# default +MAKECMDGOALS := all +# environment +TERM_SESSION_ID = w0t0p0:520B77F0-CFEA-4D37-8A86-B45CDD412BEF # automatic %D = $(patsubst %/,%,$(dir $%)) # default - MAKE_COMMAND := /Applications/Xcode.app/Contents/Developer/usr/bin/make +# environment +TERM_PROGRAM = iTerm.app # default .VARIABLES := # environment -TMPDIR = /var/folders/kq/kc3pf_ns62n6hc7n74119qf00000gn/T/ +TMPDIR = /var/folders/zz/zyxvpxvq6csfxvn_n003vhs000yw68/T/ # automatic *F = $(notdir $*) # environment -VSCODE_IPC_HOOK = /Users/denisnadey/Library/Application Support/Code/1.56.0-main.sock +VSCODE_IPC_HOOK = /Users/mdenys/Library/Application Support/Code/1.56.0-main.sock # makefile MAKEFLAGS = Rrqp # environment @@ -113,33 +124,45 @@ MFLAGS = -Rrqp # automatic *D = $(patsubst %/,%,$(dir $*)) # environment -XPC_SERVICE_NAME = application.com.microsoft.VSCode.3567092.3567098 +TERM_PROGRAM_VERSION = 3.3.7 +# environment +XPC_SERVICE_NAME = com.microsoft.VSCode.1224 +# environment +LC_TERMINAL_VERSION = 3.3.7 # automatic +D = $(patsubst %/,%,$(dir $+)) # automatic +F = $(notdir $+) # environment -__CF_USER_TEXT_ENCODING = 0x1F5:0x7:0x31 +ITERM_SESSION_ID = w0t0p0:520B77F0-CFEA-4D37-8A86-B45CDD412BEF # environment -COMMAND_MODE = unix2003 +COLORFGBG = 7;0 +# environment +__CF_USER_TEXT_ENCODING = 0xF70C8:0x0:0x0 # default MAKEFILES := # automatic +typedef struct s_philo +{ + int right_fork; + int left_fork; +} t_philo; + typedef struct s_philo_data { pthread_mutex_t *mutex; + t_philo *philors; } t_philo_data; - typedef struct s_all { int number_of_philosophers; diff --git a/philo_one/obj/logic.o b/philo_one/obj/logic.o index cbd161aaf45cb0785ee5545a7abcff5ec45d91a1..a232e7c3bfb2d17b3aacc2745211376cb69f8996 100644 GIT binary patch literal 7184 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 A761SM literal 1936 zcmb7FTSydP6#g|+vCD3hWKlQ|MZGAyLEwvF98QBBD*(ND$`DYdv|#*FhEkg}N1O z(Jtk&=EWp7LtN0$!3>5Y%Hi_GGZs-wsdvf_GkQVK7c8AG$n#{FuL0-ukGM{VPENUI zAJ!VEdp#Sgga|+()Rf{G%uxy3fJ<+MMZIW&`i1V(Q-Azl_GeW4yPBK|s&?P3no7*7 z>BdW#WkgI;b@;vg(T@C5?HM)sCfGLCF~s;#__aOm)};Gp)U^8~)%1q5D0K^yvkQUi zo4^3RV+B4t^3^R&_e~axT30GM>@S*7Q`9B#Z5j7bKkPGL;9UWx`C(4@HBJ+18w=Dn z3IF-CbkU=L=Fi|>hkdw4O+{u^EtG94N~A8cSf9tZgj+XQ6;R9 za9%l26z3&Sk8(*RH-ODE=dm*a@GZs1V1)n=|2sTfwFK*A(LLifc!CBQG|o_y+(7P* zf)NY7Fb8!jp6vh1(cLfgd53PNNJ8v=$lGQ4{EH++WR-jiR~%R+zlHfruACGlmxCq2 z^%a#vsM&@14yZG?;0n(t#KDch8>NRf;5BuHaLv#O#_^mh;<|zB|C8tAc~`{U1@1oM zcf+4r6! zdb)TRSB_&P4o~)DRHVWmiwkAYja}Itoz@IZFqZCADaGcaJ9i0v}+n%K!iX diff --git a/philo_one/obj/main.o b/philo_one/obj/main.o index 1460cf1efd9e9e7a84113a123f8dffc1e014c0e5..8b007d07b5ca6e49262f0388f755c7cef6f15cc7 100644 GIT binary patch literal 2520 zcmb7G&2Jl35TCWZZW5U#F0A!M5Q9-f)qg@%)FgV>{Uy{Nb}~yGru?QW9RvY zKY#z{5P*^f9FQ}}Efoh18EFK0o1FKdHYFl`K{-gVjhH|@Ku#nf0;?57dSp*e%}npx zu{O&J;nB2uFMymP1FLZiNg+%>@alGzokDcu#W)Y~?|*Q8Y(gql_VVYgN>~*LDm_9> zzBO^_wY{i!S^Jb_Z+7peSm}ZkBEmB&70+6tdb{!d=B(FQ-Z&s$-Cl4gC5d;D4i9NL z67VzQ&EfuWVfU=BX_yi+iT5qzv4B}R%x+5H8Lr!~gl#k}ALEjEw;1RwW4v=fJg2f~ zQc4mp#j~GayqgEall8fVnZ!Gl!29Zec)_xJ&-GqlyalfBrw8Ii_oZrw!VN2Svc5Ls zJ<51`4=ekEBO*t9{}?Yw;(gE2Cpmxqfq16V#C;1yXunst=Y_a9xj!}b2*%Ucxruo6 z-MV=H_~;Y$Sv9fX;cbZ$lHczz_my$RYcn33kOQd2I>~swjk+xnlk1&fyctf~;`O%f zQ{VF#H;gQ6&-Y;?Lq?)Skbjl?QXA!Iw6Pv|1G$qZm$+-;odN%$U(wfp(bw*3x2JX} zYJFu}Uk|tRjg_s9aQioMt!=}=ht$>X9LGWb?4?sE+8}?!ESh+I>h2x7cMP&IwWF_n zqs@M8wd#RZu}mZMEzR;g$LoU$`g}FBVc1n|$@2WVV{7Gdp;Rbor=@qaTrQzi7#k~; zUw9e{Mc*_1V$-PG1rv%_e9S2}=Pi5LFHTzi)xdF!uIDUTX5bgyTD{@;j$5N3X$S|; ziISmi2Vi(rlZGWQYla8P5#?llNKNMlAAThN^eV$kH!f|=g;MGcp&NkkOx9!dP@L$xNm>BsSdyR@WACKMP~N2X zN=eV*m`;7(TIsah>(Z*?2pMX+YDR64pob#!F%DUrOTRp!)08pyqfQjrQHx&u;O4dG z&?hHD`3wahb>@Xr8| zfzldO2Kx{7Y+@9ZLA~+29om=OUCsxX$Pa#$di8L$*8tNPlL6{_ilY3LKTLuqK~|zG z4f0yzotAU=MulU~%GrZU3mIepQt))r%l!FakqI$0B*`u?TbY z*+^#DmSrGtmih}xyudIZXF>&u)D9CKPuL(_!}Bd+U<)>DmU&ey8I2I1AR)I~xcHwa HSOEAJ%04%j delta 233 zcmca1{DWRm O4oEWs`3#dQIpYDb93qDR diff --git a/philo_one/obj/parser.o b/philo_one/obj/parser.o index db8d9fea254f34fd65ae49255b427b6e394f6ef7..6d3808a78040d7342637acd3efa04fceeaa6257a 100644 GIT binary patch literal 6372 zcmcgxeQXrR6`%Xqy*nTH4lrN>!HY^1Na{NiAfSd&JK@M-Ah>+ArY>66=e6(R`(kg; zF-fc-41_CfW2#1~`UmPqDp9EY#!~Lq(Z`I!3~eD9LF;@l6_o z;_$#^R3jur(RJG#v_)U=TN9mItGv_u5;=lGcr@*WS&YpkfuHRm;uKv^m24}M?~?*u zpNQw+WTgID&>1PHcOnb_dd%)}pAJy2(e*W7XxqGY-0F<*gMw}{96 zD;g;`Uebkk;TG}i-Ni}Qo0WL~k^%HP8$tRD;)TXtOL+fFG=PG^j^%&W*h zxpiE4W?JvHkS$_>d;dnK3i*h{J1X%c%iw<6=@WJKTQ-yDi0<`%TjCv+&a9jvMqhz{ z@)1q&?;fZdQMsJZOO`Cl9iz= zmGb4`q020?uY!TeLy0THD_P`e3ifXjH^{lsx1}OEJQ#GTUaG31F4gg>s?nu-MyiGf zHJ9dbXh!MvGpQpxs*r9+9;m9^j@(&QxgDWZj-t|1i5yDY*l{}2w1@gUKEsza8KY!n z+XWG){ZPWa3&}%+!AoSBJcK9)&_eWNRESbz$wM2jBrCgvppfrwl=8D=ovdt%O1b8e zH%j>;3BB=3rA?zTzoKWsg_XpO(aitBi6!qPQ;vIZW9W)A8^V$teo@ddGuipPBkmF)C!m5%u&k4P}6?l@iO*GjgL?=dV}vX)@}4?hSgWcpn*VpG-Ic= zLeb6?@DN1~R>8u>nL zz_d!h)0QlWwZvMqMO@mvWJwFS*wUr3B`X%QSiEGVO7Ws$l}sy^V)1RDrFgE#%Q_%7$G!lP#1A#WWdlMlay)mr9$dejOl2j&Z07eXLs-76V4MjI%3~ zx0#X6GFzv%#M^v1*KJyQp;xb+gV~v!soMp;Cu7P!y>|@@2ZAniEL*@@3DU7OjcUJ? zHO(Tcf|E^2H;q)fb{;)fF4>UUtjDkop@DZ|fh2;HHB7FIng;|-tw5|6R ztbUd?du7i_4u*^wV7tmj-p<&&nP-~kj`|sjuRc0^ZvBrRm@~~Y9oIK+4D#t}Yoo9J zGvWKfcg|Tizcn0z+ulqk3lrJ3*q}=^+#J2#Fe4=w;Ar)Snq->i5tIJcp(q zRc#8q0P;AhvMcxvkXGg4&<{arCS?-~{Rs3m>URWL-P`Dd-$ApIDJMZx&y-Uj!GKD4 z)qo$NI**Pw8hney-YKEWpnOsFEc8#OAMrEwF4(Gshj;vzwj_0&JCD2$^81sAA-hpX zj}ffna(3DWxuFAFrWK!}OC)^;_Mq-XC7Ye7RQMAGeU@{K@!UfHF3CG{at9!D&-o$B z$FYe3gKC4sr?rspKHT8^xZx3=Q^>?w582TQ>3cVXN;Y&`q>V&A(bZF%d->_iCHvjO zulGeCx;}sYhA)q8wa@(dcgHUNZGX$2gW>7M`}4cHo_MRP^p*1`4qh6vx2=66dS+WR zr9JZmcgl8s*U;->bFpjp`JqhBPu-^$}kX~3JXC|-b5u4r6j(t zsZiFFh_-AIQGKEBxI?{@Am_(G+Qbe1KM3h9*2})cNQ6@_( z%3KmrGE4YVQbg%02U1evk5QgVE6RKl(T0#%C%}@3wzRaOTqhAlMPh9LO9@GPU8Gry zI52NIBzKZc?O{qe*iw7ag6H9@;!)&A0gy8b61)o1=(@v6StI~7k^VZVf5!8m{y!?6YG zUd7j`G_@=9)wnW?xV=gPaqDY14P2wp&1zRxfm$r^YkQRj)we39%)?Yc1Z6LRl2*c3L2PyVrB{@O ziyWf?Qpe`3uz3ZfUHvU=e4|PbEsan-1KtoeWfBh?f6c4V;ITF@2gM_t*(CW!$$LTZ zu4sN2O0xSaDA~OxX!G+@epJf84odd>qZu*O;@-F22jf)Bg=>?H9OsY%u!D)o(g!b$o#5O?-Rdm-uqZ#(7pqajWjf kOsl};w<`wY>sDe&1|MC9UC2O+{|nf?3_mZLCZ=Wo0fqbVGynhq literal 2204 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 H>ni;p%YPNt delta 313 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 delta 2381 zcmZuzeQZ-z6hH5^g(}_pHr7!(M(f;g=vc}WTr|v@Sob31Q$zxcu5?{C*vita%ZMyp zC=g$2wd2N^5KU$xW>a-*qqvWT(O++wnbGzd+lH#yzH z>6=C5DAL|yru`OmgvDD-t_w|$vvx+yj0K8Cver^TeByE%ji#nWsRbE(L$!n4~VZ>NW-$H1P|H0%pITcne$lWqzZ=hi0>!9LmVaxKqvlOY=!NE9X4wp9Rjwxmxw-0w+=R zNt!No`-6O5@y};l5nyi6Z#?68o(8egTxJyi z@2U$C-)zPIOZFU7{gtV15=qdtx_Q6usGdnjnRE$uGyA6?)IX%6L7ETi5<{IKsAnA%U8+K*MJhmKM2 zxo6&Us1j>F)Lxx=cect!;ZlF_vrbF&B@BEPWoNSA@7tArRot~kQ{Kz$|CkT zE}Y3U>8*6^aiAs*QGFLzgt=t9`N4EUxZTLui*VE z+D~lroVOF7rOaGXCG8|;@6md6CIr9&)<92ZAUqfj#rng6&Tz0j9EDvy!LA7G4RwY? z2Lll7fIhOXu{{2<&T?y^gze0*?@$T&Ux?4c|zL*KwS|Q$Vqg z<2JmeDc;Dj{sXX$V+k`w^9K0ap}m{*GAPB0#kUlj|CN(3p5H>8jh{H% U4|lf*`ub!01N*xo^c?c?A7-Ro2LJ#7 diff --git a/philo_one/srcs/logic.c b/philo_one/srcs/logic.c index f257345..d89e44f 100644 --- a/philo_one/srcs/logic.c +++ b/philo_one/srcs/logic.c @@ -34,11 +34,43 @@ int func_test(t_all *all) return (0); } +void get_fork_for_philo(t_all *all) +{ + int i; + + i = 0; + + while(i <= all->number_of_philosophers) + { + if (i == 0) + { + all->data_philo->philors[i].left_fork = all->number_of_philosophers; + all->data_philo->philors[i].right_fork = 0; + } + else + { + all->data_philo->philors[i].left_fork = i; + all->data_philo->philors[i].right_fork = i + 1; + } + i++; + } +} int prepare_resources(t_all *all) { + int i; + + i = 0; all->data_philo = ft_calloc(sizeof(t_philo_data), 1); all->data_philo->mutex = (pthread_mutex_t *)ft_calloc(sizeof(pthread_mutex_t), all->number_of_philosophers); + while (i < all->number_of_philosophers) + { + pthread_mutex_init(&all->data_philo->mutex[i], NULL); + i++; + } + all->data_philo->philors = (t_philo *)ft_calloc(sizeof(t_philo), all->number_of_philosophers); + get_fork_for_philo(all); + return (0); } int runner(t_all *all, int optional) diff --git a/workspace.code-workspace b/workspace.code-workspace new file mode 100644 index 0000000..40fe023 --- /dev/null +++ b/workspace.code-workspace @@ -0,0 +1,10 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "." + } + ] +} \ No newline at end of file