1. Win32lib: ExitProcess

Hi,

Does anyone know why win32lib calls ExitProccess when the primary
window is closed? It's rather annoying for a couple of reasons, the
first is that it stops code being executed after the call to WinMain
and the second is that it stops Euphorias "with profile" from working.
It probably causes other problems (it probably doesn't allow Euphoria
to do its cleanup properly) and I can't see any reason for its use...

Thomas Parslow (PatRat)
E-Mail/Jabber: tom at almostobsolete.net
ICQ: 26359483

new topic     » topic index » view message » categorize

2. Re: Win32lib: ExitProcess

Don Phillips writes:
> Hey Derek.  I am almost sure that this call is not really needed.
> Mostly it just unloads the linked DLLs and frees some Windows management
> memory.  However, since it is technically Euphoria that is doing the
> loading of all these objects, I think these things will be cleared up
> automatically anyways as soon as Euphoria itself terminates... ( I think).

Someone pointed out to me (Euman? Derek?) a long time ago
that a small amount of space reserved for loaded .dll's was not being freed
when Euphoria for Windows terminated.

ExitProcess() frees these .dlls, so I started to use it in my local version
of exw.exe. I discovered however (before releasing 2.3) that although
ExitProcesss unloads the .dlls, it *doesn't* flush regular files
that were written-to but never closed or flushed by the Euphoria program.
This is something that the normal C exit() *does* do, and I'd like
Euphoria users to be able to count on it. So I went back to using exit(),
but I now keep track of all the loaded .dll's and I free them
with FreeLibrary() at the end - see Cleanup() in runtime.c
in the Euphoria source. Cleanup also outputs the profiling information,
displays warning messages, and a few other minor things.

So I think it's better that Win32Lib not call ExitProcess(),
but if there's any other cleanup that we are now going to miss,
I'd like to know about it.

Regards,
   Rob Craig
   Rapid Deployment Software
   http://www.RapidEuphoria.com

new topic     » goto parent     » topic index » view message » categorize

3. Re: Win32lib: ExitProcess

If you use doEvents(0) in loop and user exits program exw.exe process will
still be running.
Maybe sending WM_CLOSE again will close that process?

----- Original Message -----
From: "Derek Parnell" <Derek.Parnell at SYD.RABOBANK.COM>
To: "EUforum" <EUforum at topica.com>
Subject: RE: Win32lib: ExitProcess


>
> Done. I will suggest that if somebody really, really wants to run
> ExitProcess, that they do it in their App after WinMain() returns.
>
> > -----Original Message-----
> > From: Robert Craig [mailto:rds at RapidEuphoria.com]
> > Sent: Tuesday, 16 July 2002 7:28
> > To: EUforum
> > Subject: Re: Win32lib: ExitProcess
> >
> >
> > Don Phillips writes:
> > > Hey Derek.  I am almost sure that this call is not really needed.
> > > Mostly it just unloads the linked DLLs and frees some
> > Windows management
> > > memory.  However, since it is technically Euphoria that is doing the
> > > loading of all these objects, I think these things will be
> > cleared up
> > > automatically anyways as soon as Euphoria itself
> > terminates... ( I think).
> >
> > Someone pointed out to me (Euman? Derek?) a long time ago
> > that a small amount of space reserved for loaded .dll's was
> > not being freed
> > when Euphoria for Windows terminated.
> >
> > ExitProcess() frees these .dlls, so I started to use it in my
> > local version
> > of exw.exe. I discovered however (before releasing 2.3) that although
> > ExitProcesss unloads the .dlls, it *doesn't* flush regular files
> > that were written-to but never closed or flushed by the
> > Euphoria program.
> > This is something that the normal C exit() *does* do, and I'd like
> > Euphoria users to be able to count on it. So I went back to
> > using exit(),
> > but I now keep track of all the loaded .dll's and I free them
> > with FreeLibrary() at the end - see Cleanup() in runtime.c
> > in the Euphoria source. Cleanup also outputs the profiling
> > information,
> > displays warning messages, and a few other minor things.
> >
> > So I think it's better that Win32Lib not call ExitProcess(),
> > but if there's any other cleanup that we are now going to miss,
> > I'd like to know about it.
> >
> > Regards,
> >    Rob Craig
> >    Rapid Deployment Software
> >    http://www.RapidEuphoria.com
> >
> >
> ==================================================================
>
>
> ==================================================================
>
>
>
>

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu