eclipse-iceoryx / eclipse-iceoryx/iceoryx
Workaround for wrong errno on QNX for mq_timedsend/mq_timereceive results in error message in latest QNX
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Required information
**Operating system:**
QNX SDP7.1
**Compiler version:**
QCC 8
**Details**
On QNX SDP7.0 the errno for a timeout in `mq_timedsend`/`mq_timedreceive` was `EINTR` instead of `ETIMEDOUT`. To fix this, the `posix::MessageQueue` has a `TIMEOUT_ERRNO` constexpr which is set to `EINTR` on QNX and `ETIMEDOUT` on all other platforms.
Since we switched to unix domain sockets and the mqueue is not used, the class is not used. We need to decide whether we want to just use `ETIMEDOUT` and ignore QNX SDP 7.0 or add a compiler switch like `#ifdef __QNX__ && __GCC__MAJOR_VERSION__ == 5`. Since this class is not used anyway, removing the `#ifdef` might be the best option.
Contributor guide
Assessment
This issue has not been assessed yet.