Ca idee, ce returnează un pthread_create care are succes se poate da join indiferent de situație, chiar și dacă threadul a fost creat suspendat sau fuck knows what.
Primul parametru este pointer la tid. Acel tid va avea o valoare validă pe care poți da join dacă pthread_create returnează 0 (success). Al doilea l-ai dat NULL presupun, al treilea e funcția de startup care știi ce formă are și al patrulea e parametrul de dat acelei funcții. Ai verificat ce returnează pthread_create în sine? Dacă e diferit de 0 ai putea da perror… Sent from Mail for Windows 10 From: Alexandru Fazakas via so Sent: Wednesday, May 8, 2019 12:07 AM To: Sisteme de Operare Subject: [so] [Tema 4] [Linux] Probleme pthread_create Salut, Are cineva idee ce ar putea cauza probleme la pthread_create? Din ce am observat, se creeaza un thread nou, insa functia pe care o pasez ca argument nu este rulata, ci doar se termina brusc thread-ul. Am incercat sa iau instructiunile la mana prin gdb, insa cam asta se intampla cand dau next instruction prin functia de pe thread: `[Switching to thread 2 (Thread 0x7ffff75c0700 (LWP 11822))] #0 clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:78 78 ../sysdeps/unix/sysv/linux/x86_64/clone.S: No such file or directory. (gdb) ni 79 in ../sysdeps/unix/sysv/linux/x86_64/clone.S (gdb) (so_scheduler.c, 182): pthread_join error: Success ` Intr-un final, programul crapa la pthread_join, pentru ca nu exista niciun thread cu id-ul pe care incerc eu sa fac join. Suna cumva cunoscuta situatia cuiva? In caz ca vrea cineva sa arunce o privire pe Gitlab, contul LDAP este alexandru.fazakas. Seara faina, Alex
_______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
