JBuffer

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

JBuffer
Hi, kurze Frage bezüglich der errno. Bei pthread_mutex_init wird errno ja ein Wert zugewiesen, daher ist meine Frage ob man dann einfach die errno auf ungleich 0 untersuchen kann oder ob man die errno auf alle möglichen Fehlerwerte, die auftreten können, überprüfen muss?


Anders als bei „normalen“ POSIX-Funktionen wird bei [m]pthread_*[/m]-Funktionen keine [m]errno[/m] gesetzt, sondern der entsprechende Wert zurückgegeben. Diesen kann man natürlich in [m]errno[/m] speichern, wenn man in den Genuss automatischer Fehlermeldungen ([m]perror[/m]) kommen will.

Bezüglich der Werte, die zurückgegeben werden, hilft vielleicht ein Zitat aus der Manpage:

Dadurch sieht Code mit [m]pthread_*[/m]-Funktionen meist so aus:

errno = pthread_mutex_init(&my_mutex, NULL);
if (errno) { // Kurzform für if (errno != 0) {
    perror("pthread_mutex_init");
    exit(EXIT_FAILURE);
}
2 Likes