Fix a mistake of effectively multiplying by DDS_NSECS_IN_SEC twice.
This commit is contained in:
parent
0a7e6b9b84
commit
4b530e9376
@ -149,13 +149,16 @@ SG_DDS_Topic::read(char *buf, int length)
|
|||||||
|
|
||||||
dds_sample_info_t info[1];
|
dds_sample_info_t info[1];
|
||||||
result = dds_take(entry, (void**)&buf, info, 1, 1);
|
result = dds_take(entry, (void**)&buf, info, 1, 1);
|
||||||
if(result < 0 || !info[0].valid_data)
|
if(result < 0)
|
||||||
{
|
{
|
||||||
errno = -result;
|
errno = -result;
|
||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
SG_LOG(SG_IO, SG_ALERT, "dds_take: " << dds_strretcode(errno));
|
SG_LOG(SG_IO, SG_ALERT, "dds_take: " << dds_strretcode(errno));
|
||||||
}
|
}
|
||||||
|
else if (result > 0 && !info[0].valid_data) {
|
||||||
|
SG_LOG(SG_IO, SG_ALERT, "dds_take: invalid data");
|
||||||
|
}
|
||||||
|
|
||||||
return result*length;
|
return result*length;
|
||||||
}
|
}
|
||||||
@ -292,7 +295,7 @@ SG_DDS::wait(float dt)
|
|||||||
dds_attach_t results[num];
|
dds_attach_t results[num];
|
||||||
|
|
||||||
if (dt > 0.0)
|
if (dt > 0.0)
|
||||||
timeout = dt*1e9f * DDS_NSECS_IN_SEC;
|
timeout = dt * DDS_NSECS_IN_SEC;
|
||||||
|
|
||||||
int status = dds_waitset_wait(waitset, results, num, timeout);
|
int status = dds_waitset_wait(waitset, results, num, timeout);
|
||||||
if (status < 0) {
|
if (status < 0) {
|
||||||
|
@ -105,6 +105,9 @@ public:
|
|||||||
bool add(SG_DDS_Topic *topic, const SGProtocolDir d);
|
bool add(SG_DDS_Topic *topic, const SGProtocolDir d);
|
||||||
bool close();
|
bool close();
|
||||||
|
|
||||||
|
const std::vector<SG_DDS_Topic*>& get_readers() { return readers; }
|
||||||
|
const std::vector<SG_DDS_Topic*>& get_writers() { return writers; }
|
||||||
|
|
||||||
bool wait(float dt = 0.0f);
|
bool wait(float dt = 0.0f);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user