fix mising close sem

This commit is contained in:
Joe Dong
2023-09-12 11:12:40 +08:00
parent 498bda9ac3
commit 405454a6b5
@@ -253,6 +253,11 @@ std::shared_ptr<ob::Device> OBCameraNodeDriver::selectDevice(
return list->getDevice(0);
}
sem_t *device_sem = sem_open(DEFAULT_SEM_NAME.c_str(), O_CREAT, 0644, 1);
std::shared_ptr<int> device_sem_guard(nullptr, [&, device_sem](int const *) {
if (device_sem != SEM_FAILED) {
sem_close(device_sem);
}
});
if (device_sem == SEM_FAILED) {
RCLCPP_INFO_STREAM(logger_, "Failed to open semaphore");
return nullptr;