added std::lock_guard<std::mutex> guard(enum_mtx) to listDevices()