I put a cerr << "delete globals" << endl; where you have "delete globals;" 
in the code below and when I exit flightgear "delete globals" is not 
printed.  Does the same happen for you?

Seamus



On Tue, 2 Dec 2003, Norman Vine wrote:

> Seamus Thomas Carroll writes:
> > 
> > On the client side I thought about using netChannel::close to inform the 
> > server that the socket is closed but the function is never 
> > called.  netChannel::close is called in the clients destructor but the 
> > destructor is never called because FGGlobals *globals is never deleted 
> > (from what I can tell) which in turn would delete my client. 
> > 
> > Any thoughts on the matter?  Would putting "delete globals" somewhere in 
> > the code which down the line would call netChannel::close() be the solution?
> 
> Easy enough to test
> 
> try moving 
>     globals = new FGGlobals;
> 
> out of main,cxx  fgMainInit( int argc, char **argv ) {
> 
> 
> into bootstrap.cxx 
> 
> main(int argc, char **argv) 
> {
> .......
>     globals = new FGGlobals;
> 
>     // FIXME: add other, more specific
>     // exceptions.
>     try {
>         fgMainInit(argc, argv);
>     } catch (sg_throwable &t) {
>                             // We must use cerr rather than
>                             // logging, since logging may be
>                             // disabled.
>         cerr << "Fatal error: " << t.getFormattedMessage()
>              << "\n (received from " << t.getOrigin() << ')' << endl;
>         exit(1);
>     }
>      delete globals;
> ....
> }
> 
> Norman
> 
> _______________________________________________
> Flightgear-devel mailing list
> [EMAIL PROTECTED]
> http://mail.flightgear.org/mailman/listinfo/flightgear-devel
> 


_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to