Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C -Threads]

  1. #1

    [C -Threads]

    Ho bisogno di ricavare il valore di ritorno della funzione di callback utilizzata quando si crea un worker thread (cioè il valore che metto io dopo il return nella funzione,non il codice di uscita del processo),nella fattispecie se devo capire se la funzione ha ritornato -1 (cioè errore) o 1 (cioè tutto ok)
    Ora nella documentazione msdn ho letto che bisogna usare GetExitCodeThread() e infatti l'ho usata in questo modo:

    codice:
    if (GetExitCodeThread(m_hThread,&dwExitCode))
    	{
    		if (dwExitCode != STILL_ACTIVE && dwExitCode < 0 )
    			return FALSE;
    	}
    	return TRUE;
    Questo codice si trova qualche istruzione dopo la CreateThread che crea ed avvia il thread stesso.
    Nella pratica però non funziona,il valore che viene memorizzato in dwExitCode è sempre lo stesso (259),qualunque sia il valore con cui è uscita la funzione di callback del thread.Ne ho assoluto bisogno è non riesco in nessun modo a ricavarlo.Qualche idea?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  2. #2
    Ho scoperto che 259 in realtà è il valore numerico di STILL_ACTIVE,questo significa che quando io vado a richiedere l'exit code del processo questo non è ancora terminato e invece dovrebbe dato che la funzione di callback è uscita quasi immediatamente con return -1.Anche mettendo quest'ultima istruzione come l'unica della callback (come prova) non cambiano le cose,il processo risulta comunque attivo.Boh boh!!!!
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.