Now python3 compatible
Just some more nasty cheating attempt stuff by trying to hold the game forever
Now python3 compatible + a catchall for edge cases, we want to see what is happening
Code to kill players if they timeout / ask too many transactions.
LOTS OF STUFF IN THERE. Tried many, many, many, many possibilities to be sure to killl
a thread. None worked. Even went Python3 to be able to use pthread_kill, still does not do
it. Looks like the current solution seems reasonable. Of course, we consider players are
forbidden to create new threads. Syscalls should be OK but we will forbid them too anyway.
I did not go for multiprocessing package because the shared memory stuff with the update of the judge s
internal data seemed just way too complicated and also potentially unsecure: if we are receiving through
a shared channel, direct object updates, what prevents the other process from spoofing those information?
I prefer to have the code that runs the check on my own main thread/process so I am sure of what is being
run!