use boost::interprocess::interprocess_semphore to make classes read and write temp files without crashing