mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-27 15:20:35 +08:00
POSIX: Fixed orb_advertise failure
There were an insufficient number of devmap entries allocated and when they ran out, new orb_advertise requests would fail. Also added a new logging macro for the Linux build to show the calling pthread if enabled. Signed-off-by: Mark Charlebois <charlebm@gmail.com>
This commit is contained in:
@@ -64,7 +64,7 @@ private:
|
||||
px4_dev_t() {}
|
||||
};
|
||||
|
||||
#define PX4_MAX_DEV 30
|
||||
#define PX4_MAX_DEV 50
|
||||
static px4_dev_t *devmap[PX4_MAX_DEV];
|
||||
|
||||
/*
|
||||
@@ -99,7 +99,7 @@ VDev::~VDev()
|
||||
int
|
||||
VDev::register_class_devname(const char *class_devname)
|
||||
{
|
||||
PX4_DEBUG("VDev::register_class_devname");
|
||||
PX4_DEBUG("VDev::register_class_devname %s", class_devname);
|
||||
if (class_devname == nullptr) {
|
||||
return -EINVAL;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ VDev::register_class_devname(const char *class_devname)
|
||||
int
|
||||
VDev::register_driver(const char *name, void *data)
|
||||
{
|
||||
PX4_DEBUG("VDev::register_driver");
|
||||
PX4_DEBUG("VDev::register_driver %s", name);
|
||||
int ret = -ENOSPC;
|
||||
|
||||
if (name == NULL || data == NULL)
|
||||
@@ -145,14 +145,17 @@ VDev::register_driver(const char *name, void *data)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ret != PX4_OK) {
|
||||
PX4_ERR("No free devmap entries - increase PX4_MAX_DEV");
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
VDev::unregister_driver(const char *name)
|
||||
{
|
||||
PX4_DEBUG("VDev::unregister_driver");
|
||||
int ret = -ENOSPC;
|
||||
PX4_DEBUG("VDev::unregister_driver %s", name);
|
||||
int ret = -EINVAL;
|
||||
|
||||
if (name == NULL)
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user