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

Reply via email to