Ich bin relativ neu bei POSIX-Thread-Implementierungen und ich habe ein Eckfallverhalten, über das ich mir nicht sicher bin.pthread_detach Verhalten, wenn es einen Tischler gibt
Nach meinem Verständnis kann man pthread_deatch() auf einem Join-fähigen PThread aufrufen, um es abzutrennen.
Nachdem ein Thread getrennt wurde, muss er nicht darauf warten, dass sich jemand anmeldet, damit seine Ressourcen vom System freigegeben werden.
Meine Frage ist, was ist, wenn ein Join-fähigen Thread (nennen wir es Thread B) durch einen Thread (nennen wir es einen Thread A) nach Thread B erstellt wurde. Nehmen wir außerdem an, dass Thread B gerade ausgeführt wurde, als Thread A verbunden wurde, wodurch Thread A angehalten wurde, bis Thread B die Ausführung beendet hatte. Inzwischen Thread C aufgerufen pthread_deatch() auf Thread B.
In einem solchen Szenario, was mit Thread A, die im schwebenden Zustand auf Thread B warten soll, um zu beenden. Wird Thread B die Ausführung fortsetzen und dann Thread A geweckt, um den Rückgabewert von B zu erhalten? Oder wird Thread A geweckt, sobald Thread B als losgelöst markiert wird?