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:

Code:
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;
}
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 per
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?