hallo,
meine Frage zu
" Benutzung und Auswertung von void **retval "
ist zwar generell zu C, bezieht sich aber auf ein konkretes Problem bei der Raspi-Programmierung, daher stelle ich sie hier.
Gebraucht werden in einem Programm mehrere pthreads, die folgendermaßen verwaltet werden:
ich möchte nun die Rückgabewerte (retval) von pthread_join auswerten, um festzustellen, ob die pthreads sich selber beendet haben (per eigener Abbruchbedingung) oder ob einer der pthreads perCode:long f; pthread_t threadID0, threadID1, threadID2; int main() { void **retval0 = NULL, **retval1 = NULL, **retval2 = NULL; printf("enter order: "); scanf("%ld", &f); pthread_create( &threadID0, 0, threadW0, 0 ); pthread_create( &threadID1, 0, threadf1, 0 ); pthread_create( &threadID2, 0, threadf2, 0 ); pthread_join( threadID0, retval0 ); pthread_join( threadID1, retval1 ); pthread_join( threadID2, retval2 ); printf("\nprogram end \n"); return 0; }
pthread_cancel
von einem anderen thread aus "zwangsweise" beendet wurde.
wie frage ich aber die Werte von retval ab? Es sind ja keine Integerwerte, die man z.B. auf 0 oder 3 testen kann, sondern void** (ich lese das als einen Pointer auf die Adresse einer typenlosen Variablen)
- wie händelt man das?







Zitieren
Lesezeichen