use pthread_join so ThreadPool kills cleanly; store client_connection filepath on heap to save stack space