<div dir="ltr">Salut,<div><br></div><div>1. In restrictia </div><div>"<span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify">Tema se va rezolva folosind fire de execuție POSIX și exclusiv mecanisme de sincronizare a firelor de execuție POSIX (mutex, variabile de condiție).", </span></div><div>termenul general de mutex include atat <span style="background-color:rgb(247,249,250);color:rgb(51,51,51);font-family:monospace,serif;font-size:13px;text-align:justify">pthread_mutex_t cat si </span><span style="background-color:rgb(247,249,250);color:rgb(51,51,51);font-family:monospace,serif;font-size:13px;text-align:justify">sem_t? (</span><span style="background-color:rgb(247,249,250);color:rgb(51,51,51);text-align:justify"><font face="monospace">"</font></span><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify">Semafoarele sunt obiecte de sincronizare ce reprezintă o generalizare a mutex-urilor")</span></div><div><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify">Vreau doar sa ma asigur ca este ok daca am folosit si sem_t.</span></div><div><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify"><br></span></div><div><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify">2.  Am verificat daca am memory leaks ruland valgrind:</span></div><div><span style="text-align:justify"><font color="#333333" face="verdana, lucida grande, lucida, helvetica, arial, sans-serif">valgrind --leak-check=full  --show-leak-kinds=all ./_test/run_test $i</font><br></span></div><div><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify"><br></span></div><div><span style="color:rgb(51,51,51);font-family:verdana,"lucida grande",lucida,helvetica,arial,sans-serif;font-size:13px;text-align:justify">Aparent nu am memory leaks, dar o data la foarte multe rulari pe testul 16 am un block "</span><span style="color:rgb(51,51,51);font-family:verdana,sans-serif;text-align:justify">possibly lost". </span>Din cate inteleg, problema este din pthread_create (poate SO-ul elibereaza niste resurse mai tarziu - stiu ca asta se intampla cu unele implementari pentru biblioteca <iostream> din C++; m-am gandit ca este o situatie asemanatoare). </div><div><div><span style="color:rgb(51,51,51);font-family:verdana,sans-serif;text-align:justify">Mentionez ca am creat threadurile cu atributul </span><font color="#333333" face="verdana, sans-serif">PTHREAD_CREATE_DETACHED. Tema este pe GitLab[1].</font></div></div><div>As vrea sa stiu daca se depuncteaza pentru aceasta eroare.</div><div><br></div><div><span style="text-align:justify"><div><font color="#333333" face="verdana, sans-serif">==11340== </font></div><div><font color="#333333" face="verdana, sans-serif">==11340== HEAP SUMMARY:</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==     in use at exit: 272 bytes in 1 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==   total heap usage: 2,712 allocs, 2,711 frees, 199,920 bytes allocated</font></div><div><font color="#333333" face="verdana, sans-serif">==11340== </font></div><div><font color="#333333" face="verdana, sans-serif">==11340== 272 bytes in 1 blocks are possibly lost in loss record 1 of 1</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x40136D4: allocate_dtv (dl-tls.c:322)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x40136D4: _dl_allocate_tls (dl-tls.c:539)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x504826E: allocate_stack (allocatestack.c:588)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x504826E: pthread_create@@GLIBC_2.2.5 (pthread_create.c:539)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x4E3D585: thread_init (helpers.c:25)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x4E3C791: so_fork (so_scheduler.c:73)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x4021F9: test_sched_handler_16 (test_exec.c:364)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x4E3CDD8: start_thread (so_scheduler.c:192)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    by 0x50476B9: start_thread (pthread_create.c:333)</font></div><div><font color="#333333" face="verdana, sans-serif">==11340== </font></div><div><font color="#333333" face="verdana, sans-serif">==11340== LEAK SUMMARY:</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    definitely lost: 0 bytes in 0 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    indirectly lost: 0 bytes in 0 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==      possibly lost: 272 bytes in 1 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==    still reachable: 0 bytes in 0 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340==         suppressed: 0 bytes in 0 blocks</font></div><div><font color="#333333" face="verdana, sans-serif">==11340== </font></div><div><font color="#333333" face="verdana, sans-serif">==11340== For counts of detected and suppressed errors, rerun with: -v</font></div><div><font color="#333333" face="verdana, sans-serif">==11340== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)</font></div><div><br></div><div>Darius</div><div><br></div><div><font color="#333333" face="verdana, sans-serif">[1] <a href="https://gitlab.cs.pub.ro/darius.neatu1995/SO">https://gitlab.cs.pub.ro/darius.neatu1995/SO</a></font></div><div><font color="#333333" face="verdana, sans-serif"><br></font></div></span></div></div>