problem mit pthread
-
Hallo,
hab folgendes Problem:
ich möchte den Rückgabewert eines Threads "thfunktion ausgeben.
leider bekomm ich immer ein Segmentation fault. kann mir einer sagen wie ich den Rückgabewert des threads ausgeben kann?
danke für alle hinweiseandi
das hab ich über die syntax von pthread gefunden leider hilft mir das auch nicht weiter...
int pthread_join( pthread_t thread, void **thread_return );
//Diese Funktion wartet auf den Thread mit der ID, welche Sie als erstes Argument angeben. Der Rückgabewert des Threads wird in der Adresse von thread_return abgeleg
hier mein code:
#include <iostream> #include <stdio.h> #include <pthread.h> using namespace std; int number; void *thfunktion (void *) { number=6; cout <<"hallo"<<endl; return &number; } int main () { void** versuch; pthread_t th1; pthread_create (&th1, NULL,thfunktion,NULL); pthread_join (th1,versuch); cout<<*versuch<<endl; return 0; }
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Du kannst beim optionalen Parameter von pthread_create (den du im moment auf NULL gesetzt hast) die adresse einer variable angeben.
-
Der Thread gibt den Wert über die Funktion pthread_exit (und nicht über return) zurück.
Siehe z.B. http://docsun.cites.uiuc.edu/sun_docs/C/solaris_9/SUNWdev/MTP/p6.html
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.