Problem mit void *arg bei pThreads
Hi!
Ich habe ein Problem mit pThreads.
Ich habe eine Variable und starte einen pThread in main():
Code:
string* TrafficIn = new string;
pthread_t CollectTrafficInThread;
pthread_create(&CollectTrafficInThread, 0, &CollectTrafficIn, static_cast<void*>(TrafficIn) );
Meine Funktion, die aufgerufen wird:
Code:
void *CollectTrafficIn( void *ptr)
{
string TEMP="", TEMP2="", *Antwort=new string;
[...]
*Antwort = "(" + TEMP + "-" + TEMP2 + ") * 8 / 1024 / 1024 / 10";
cout << *Antwort << endl;
ptr = Antwort; /??
}
Das Cout schreibt Antwort korrekt nach stdout, nur in main kommt es nie in TrafficIn.
Ein cout << *TrafficIn << endl; oder ein cout << TrafficIn->c_str() << enld; liefert nur eine leere Zeile.
Ich habe schon mehree static_casts ausprobiert bei ptr = Antwort, es ändert sich aber nie etwas daran, das in main() die Variable nie verändert wird.
Hat jemand eine Idee, welche Anweisung TrafficIn vernünftig zuweisen würde?
MfG
Sebastian