An application is required to perform a successful
GopherInitialize call before it can call any of the other
library functions. When it has completed the use of library, the
application must call GopherUninitialize to allow the
library to free any resources allocated on behalf of the process.
Any pending blocking or asynchronous calls in this process are
canceled without posting any notification messages, and all sockets
that were opened by the process are closed.
There must be a call to GopherUninitialize for every
successful call to GopherInitialize made by a process. In a
multithreaded environment, operations for all threads in the client
are terminated.