We were getting a backtrace because we were asking for it. We have an atexit handler that does a backtrace unless expected_exit is set. doExit sets that for us, so quit through doExit instead of regular exit. --- loader/loader.c | 3 +-- loader/loader.h | 1 + loader/telnetd.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/loader/loader.c b/loader/loader.c index df82c5b..a601f0f 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -137,8 +137,7 @@ static int numMethods = sizeof(installMethods) / sizeof(struct installMethod); static int expected_exit = 0; -static void doExit(int) __attribute__ ((noreturn)); -static void doExit(int result) +void doExit(int result) { expected_exit = 1; exit(result); diff --git a/loader/loader.h b/loader/loader.h index c88457f..c64c475 100644 --- a/loader/loader.h +++ b/loader/loader.h @@ -109,6 +109,7 @@ #define FL_KICKSTART_SEND_SERIAL(a) ((a) & LOADER_FLAGS_KICKSTART_SEND_SERIAL) #define FL_AUTOMODDISK(a) ((a) & LOADER_FLAGS_AUTOMODDISK) +void doExit(int) __attribute__ ((noreturn)); void startNewt(void); void stopNewt(void); char * getProductName(void); diff --git a/loader/telnetd.c b/loader/telnetd.c index cdf7e16..7616181 100644 --- a/loader/telnetd.c +++ b/loader/telnetd.c @@ -201,7 +201,7 @@ int beTelnet(void) { kill(child, SIGTERM); close(conn); - exit(0); + doExit(0); } unlockpt(masterFd); -- 1.7.0.1 _______________________________________________ Anaconda-devel-list mailing list Anaconda-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/anaconda-devel-list