Fixed segfault in manager program
Caused by the Program base class attempting to write EOF to programs which had already exited. This caused a SIGPIPE signal. The SIGPIPE handler function Game::HandleBrokenPipe then attempted to log the event by calling Game::theGame->logMessage However, since the program was exiting, DestroyGame had been called and Game::theGame was in the process of being deleted. Fixed by removing the fputc(output, EOF) line in Program::~Program. It is ironic that this only became an issue since I modified the sample AI to actually obey the protocol and exit as soon as "QUIT" is recieved...
Showing
- manager/controller.cpp 9 additions, 2 deletionsmanager/controller.cpp
- manager/game.cpp 5 additions, 0 deletionsmanager/game.cpp
- manager/main.cpp 1 addition, 1 deletionmanager/main.cpp
- manager/program.cpp 1 addition, 1 deletionmanager/program.cpp
- samples/dummy/Makefile 0 additions, 15 deletionssamples/dummy/Makefile
- samples/dummy/dummy.cpp 0 additions, 179 deletionssamples/dummy/dummy.cpp
- samples/dummy/info 0 additions, 1 deletionsamples/dummy/info
- samples/forfax/Makefile 0 additions, 25 deletionssamples/forfax/Makefile
- samples/forfax/forfax.cpp 0 additions, 1040 deletionssamples/forfax/forfax.cpp
- samples/forfax/forfax.h 0 additions, 187 deletionssamples/forfax/forfax.h
- samples/forfax/info 0 additions, 1 deletionsamples/forfax/info
- samples/forfax/main.cpp 0 additions, 93 deletionssamples/forfax/main.cpp
Please register or sign in to comment