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

Raspunde prin e-mail lui