[so] tema 4 linux

Horia Handoreanu so@cursuri.cs.pub.ro
Sat, 12 Feb 2005 12:33:24 +0200


Salut, 
La rezolvarea temei 4, referitor la threadurile de tip b, solutia
propusa este ca fiecare thread sa astepte in aio_suspend terminarea
operatiilor asincrone incepute, iar la sosirea unei noi cereri de la
un client, threadul main da un pthread_kill, care il scoate din
aio_suspend pe threadul de tip b ce urmeaza sa trateze cererea.
Intrebarea mea este ce se intampla daca threadul b respectiv, in
momentul primirii semnalului, nu era in stare de asteptare, in
aio_suspend?
Sa zicem ca inainte sa intru intr-un aio_suspend verific daca am
primit intre timp vreo cerere, dar tot ramane un moment, fix inainte
de instructiunea in care dau aio_suspend (dar dupa ce am verificat
existenta unor cereri noi) cand, daca vine un semnal, nu imi dau
seama.