That patch worked just fine. Hopefully it can be rolled into CVS
before the release.
Thanks!
Jonathan Polley
On Jul 18, 2004, at 7:40 AM, Frederic Bouvier wrote:
Frederic Bouvier wrote:
Jonathan Polley wrote:
Fred,
It turns out that the problem should exist on every FlightGear
system, not just the Mac. On exit(), fgExitCleanup() is called which
deletes the globals class and then calls fgOSExit(). The only thing
that fgOSExit() does is turn around and call exit(), which repeats
the
process. I changed fgExitCleanup() in main.cxx to be as follows:
void fgExitCleanup() {
delete globals;
//fgOSExit(0);
}
This prevented the recursive call to exit(), but will not work if
someone is using the fg_os_sld.cxx module, but it works for me.
I was suspecting that but was not able to reproduce this behavior on
windows.
What about this instead :
void fgExitCleanup() {
if ( globals ) {
delete globals;
globals = 0;
fgOSExit(0);
}
}
It will allow to call the function twice safely. Can you test that.
And what about this that might be better.
-Fred
--- main.cxx 15 Jul 2004 18:07:03 - 1.170
+++ main.cxx 18 Jul 2004 12:38:52 -
@@ -1495,7 +1495,6 @@
// which happens in the sound manager destructor.
void fgExitCleanup() {
delete globals;
-fgOSExit(0);
}
--- util.cxx 16 Mar 2004 20:19:08 - 1.7
+++ util.cxx 18 Jul 2004 12:35:38 -
@@ -27,6 +27,7 @@
#include simgear/debug/logstream.hxx
+#include fg_os.hxx
#include fg_io.hxx
#include fg_props.hxx
#include globals.hxx
@@ -107,7 +108,7 @@
SG_LOG(SG_GENERAL, SG_INFO, Exiting FlightGear with status
status);
globals-get_io()-shutdown_all();
-exit(status);
+fgOSExit(status);
}
___
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