Explicit parentheses to resolve warning
using gnu99 instead of c99 resolves implicit declaration warnings re unistd.h functions like usleep
Removing optimization flag suppresses type punning warning re line 119