eclipse-iceoryx / eclipse-iceoryx/iceoryx

Workaround for wrong errno on QNX for mq_timedsend/mq_timereceive results in error message in latest QNX

Open
#956 5 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.