Cambiata la sequenza di chiamata per allow_another_instance()
e deny_another_instance(), per evitare fastidiosissimi reset della macchina dopo un GPF dell'applicazione.[Modifica effettuata tramite Alex]. git-svn-id: svn://10.65.10.50/trunk@3056 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0efdee7b30
commit
5495ed9b34
@ -171,7 +171,6 @@ long XVT_CALLCONV1 TApplication::task_eh(WINDOW win, EVENT *ep)
|
||||
message_box("Attach to process %d ...", getpid());
|
||||
#endif
|
||||
do_events();
|
||||
allow_another_instance();
|
||||
|
||||
break;
|
||||
#if XVT_OS == XVT_OS_WIN || XVT_OS == XVT_OS_NT
|
||||
|
@ -88,6 +88,7 @@ word TExternal_app::run(
|
||||
}
|
||||
main_app().begin_wait();
|
||||
HL_LOGOUT();
|
||||
allow_another_instance();
|
||||
_exitcode = WinExec((char*)(const char*)path, SW_SHOW);
|
||||
|
||||
if (_exitcode >= 32)
|
||||
@ -200,6 +201,7 @@ word TExternal_app::run(
|
||||
// update counts
|
||||
if (_exitcode == 0)
|
||||
_count++;
|
||||
#if XVT_OS == XVT_OS_WIN
|
||||
// Ignora volutamente il return code da HL_LOGIN(). Se va bene riprende il posto
|
||||
// altrimenti fa lo stesso. Infatti puo' capitare con una chiave di rete, che
|
||||
// nel lasso di tempo trascorso dalla HL_LOGOUT() dell'applicazione chiamata,
|
||||
@ -209,7 +211,9 @@ word TExternal_app::run(
|
||||
// non ci saranno piu' posti liberi nell'HL_server: il programma comunque non
|
||||
// puo' interrompersi a meta'; ecco perche il valore di ritorno di HL_LOGIN viene
|
||||
// ignorato.
|
||||
HL_LOGIN(ModAd, DONT_CARE, REFKEY, VERKEY);
|
||||
HL_LOGIN(ModAd, DONT_CARE, REFKEY, VERKEY);
|
||||
deny_another_instance();
|
||||
#endif
|
||||
return _exitcode;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user