Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Terminazione processo
Forum - C/C++ - Terminazione processo

Avatar
«Useless (Normal User)
Rookie


Messaggi: 26
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 13:16
Lunedý, 06/04/2009
Ciao a tutti,vi chiedo una cosa un po strana :P Ŕ possibile far capire ad un processo che sta per essere chiuso???mi spiego meglio,quando io di solito chiudo un processo in esecuzione,prima di chiudersi fa delle sue operazioni di chiusura.IO programmo con dev-c++, cŔ una routin di sistema (non bloccante,il mio thread tanto sta in un ciclo infinito) che mi avverte che si sta spengendo il pc o chiudendo il processo??


c++
PM Quote
Avatar
«Useless (Normal User)
Rookie


Messaggi: 26
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 17:00
Lunedý, 06/04/2009
e scusate se mi sono spiegato forse male,ma il mio codice deve fare una cosa del genere

void Thread_fun(){
...
prende dei dati e li mette in un buffer
...
if(processo_in_chiusura)[salva il buffer in un file]
...
}


Ci sarebbe la soluzione di tenere il file aperto e salvare il buffer direttamente in un file e quando il processo viene chiuso,viene chiuso automaticamente anche il file.ma non posso usare questa soluzione perchŔ anche altre funzioni mi devono operare su quel file sincronizzate da semafori.E infatti se qualcuno puo dirmi le 2 funzioni mutex e signal per Windows da applicare ad una risorsa come un file,che io conosco soltanto i posix e i semafori delle librerie di linux.

Ultima modifica effettuata da «Useless il 06/04/2009 alle 17:54


c++
PM Quote
Avatar
«Useless (Normal User)
Rookie


Messaggi: 26
Iscritto: 06/04/2009

Segnala al moderatore
Postato alle 12:58
Martedý, 07/04/2009
Nessuno sa quali sono le funzioni per i semafori di mutua e sincronizzazione su windows e come si usa SetConsoleCtrlHandler(credo sia questa la funzione per intercettare lo shutdown)???


c++
PM Quote
Avatar
hack3r (Normal User)
Rookie


Messaggi: 38
Iscritto: 14/06/2009

Segnala al moderatore
Postato alle 17:00
Sabato, 01/08/2009
puoi usare la funzione atexit definita nel file cstdlib, prende come parametro un puntatore a funzione che esegue alla chiusure del processo.

guarda qui http://www.cplusplus.com/reference/clibrary/cstdlib/atexit/

:)

Ultima modifica effettuata da hack3r il 01/08/2009 alle 17:01


No money, no problem!
PM Quote