do not ignore sigchld
use dict to hold workers
use os.wait instead of polling
update docstrings
retry on eint