WaitforSingleObject Problem



  • Hallo,

    ich erstelle so einen Thread:

    //header
    HANDLE m_hThread_currentload
    
    Funktion1(){
    m_hThread_currentload = CreateThread(NULL, 0, Threadfunction, (void*) this, 0, NULL);
    
    }
    

    und will dann so drauf warten

    Funktion2(){
    ::WaitForSingleObject(m_hThread_currentload, 10000);
    

    }

    aber irgendwie wartet der nicht. Hab ich irgendwas übersehen? ich finde alle beispiele nur so?!?

    Problem ist, da ich this übergebe, wird es irgendwann NULL und der Thread läuft weiter.

    sobald ich frage:

    this(object) == NULL, bekomm ich ne zugriffsverletzung sobald das objekt tot ist.


  • Mod

    Dein Wait wartet 10 Sekunden und dann kommt er zurück ist Dir ds klar?
    Was gibt WaitForSingleObject zurück? Timeout oder object0?



  • Du solltest uns bitte mal zeigen, wie du deine ThreadMethode implementiert hast. Wenn die Funktion nicht wartet, ist entweder das Handle m_hThread_currentload ungültig oder der Thread ist tatsächlich schnell zu Ende.



  • Der einzigste Grund, der deinen Thread ohne 10 Sekunden zu warten weiter laufen lassen kann, ist dass dein Thread zu ende ist. Hast du vielleicht irgendwelche Win32API-Calls, welche nen Error liefern?


Log in to reply