orb: rm static from DeviceMaster::_node_map & use the non-static getDeviceNode in uORB::Manager
Reasons: - DeviceMaster::_node_map does not need to be shared among instances, because there is at most 1 instance per Flavor and different Flavors have non-intersecting device paths. - Keeping it static would also require a static lock - DeviceMaster::_node_map was not locked at all when used from uORB::Manager So this fixes two synchronization issues: - Different DeviceMaster objects could access the same static data in parallel - getDeviceNode() called from uORB::Manager did not use any locking at all
Showing
- src/modules/uORB/uORBDevices_nuttx.cpp 12 additions, 4 deletionssrc/modules/uORB/uORBDevices_nuttx.cpp
- src/modules/uORB/uORBDevices_nuttx.hpp 18 additions, 4 deletionssrc/modules/uORB/uORBDevices_nuttx.hpp
- src/modules/uORB/uORBDevices_posix.cpp 12 additions, 4 deletionssrc/modules/uORB/uORBDevices_posix.cpp
- src/modules/uORB/uORBDevices_posix.hpp 17 additions, 4 deletionssrc/modules/uORB/uORBDevices_posix.hpp
- src/modules/uORB/uORBManager.cpp 9 additions, 7 deletionssrc/modules/uORB/uORBManager.cpp
Loading
Please register or sign in to comment