Fixed bugs, minor changes
Fixed segfault in manager caused by attempt to print invalid setups to log Fixed SIGPIPE in manager caused by attempt to message non-existant programs. Although I previously fixed a similar SIGPIPE, It is also possible for a file to exist but not have executable permissions set. Controllers set to use such files as executables were returning true for Valid(), but were in fact, not valid at all. Use the access function (thanks stack overflow!) to check for executable permissions and existence in Program::Program. If they aren't set, or file doesn't exist, set pid to -1 which is an "invalid" controller. Discovered python trick which allows me to get rid of stupid "run.py" files for the python AIs. Modified the simulate script to take the number of rounds as an argument. Also made its output slightly prettier. Currently testing simulation of 10 rounds on my laptop at home. "./simulate 10; shutdown -h -P now" I hope it doesn't set the desk on fire while I'm asleep... :S Oh, and the VM is finally setup, hooray!
Showing with 226 additions and 183 deletions