added fork, shared memory, and sigtrem based timeout