• Sam Moore's avatar
    Fixed segfault in manager program · 7f7bc054
    Sam Moore authored
    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...
    7f7bc054
controller.cpp 3.86 KB