Commented out semaphore code because it won't allow you to run the server once it's already been run (and stopped).  This is probably some issue with how I implemented the semaphores.