@@ -120,6 +120,8 @@ std::vector<int> Onix1::getDeviceIndices(device_map_t deviceMap, int hubIndex)
120120
121121int Onix1::get_opt_ (int option, void * value, size_t * size) const
122122{
123+ const ScopedLock lock (optionLock);
124+
123125 int rc = oni_get_opt (ctx_, option, value, size);
124126 if (rc != ONI_ESUCCESS)
125127 LOGE (oni_error_str (rc));
@@ -128,6 +130,8 @@ int Onix1::get_opt_(int option, void* value, size_t* size) const
128130
129131int Onix1::readRegister (oni_dev_idx_t devIndex, oni_reg_addr_t registerAddress, oni_reg_val_t * value) const
130132{
133+ const ScopedLock lock (registerLock);
134+
131135 int rc = oni_read_reg (ctx_, devIndex, registerAddress, value);
132136 if (rc != ONI_ESUCCESS)
133137 LOGE (oni_error_str (rc));
@@ -136,6 +140,8 @@ int Onix1::readRegister(oni_dev_idx_t devIndex, oni_reg_addr_t registerAddress,
136140
137141int Onix1::writeRegister (oni_dev_idx_t devIndex, oni_reg_addr_t registerAddress, oni_reg_val_t value) const
138142{
143+ const ScopedLock lock (registerLock);
144+
139145 int rc = oni_write_reg (ctx_, devIndex, registerAddress, value);
140146 if (rc != ONI_ESUCCESS)
141147 LOGE (oni_error_str (rc));
@@ -161,6 +167,8 @@ double Onix1::convertTimestampToSeconds(uint64_t timestamp) const
161167
162168oni_frame_t * Onix1::readFrame () const
163169{
170+ const ScopedLock lock (frameLock);
171+
164172 oni_frame_t * frame = nullptr ;
165173 int rc = oni_read_frame (ctx_, &frame);
166174 if (rc < ONI_ESUCCESS)
0 commit comments