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