29 if (Q_UNLIKELY((m_channelId = ChannelCreate(_NTO_CHF_DISCONNECT
31 | _NTO_CHF_PRIVATE)) == -1)) {
32 qFatal(
"QQnxMediaEventThread: Can't continue without a channel");
35 if (Q_UNLIKELY((m_connectionId = ConnectAttach(0, 0, m_channelId,
36 _NTO_SIDE_CHANNEL, 0)) == -1)) {
37 ChannelDestroy(m_channelId);
38 qFatal(
"QQnxMediaEventThread: Can't continue without a channel connection");
41 SIGEV_PULSE_INIT(&m_mmrEvent, m_connectionId, SIGEV_PULSE_PRIO_INHERIT, c_mmrCode, 0);
55 int armResult = mmr_event_arm(m_mmrContext, &m_mmrEvent);
61 memset(&msg, 0,
sizeof(msg));
62 int receiveId = MsgReceive(m_channelId, &msg,
sizeof(msg),
nullptr);
64 if (msg.code == c_mmrCode) {
67 armResult = mmr_event_arm(m_mmrContext, &m_mmrEvent);
73 qWarning() << Q_FUNC_INFO <<
"Unexpected pulse" << msg.code;
75 }
else if (receiveId > 0) {
76 qWarning() << Q_FUNC_INFO <<
"Unexpected message" << msg.code;
78 qWarning() << Q_FUNC_INFO <<
"MsgReceive error" << strerror(errno);
90 MsgSendPulse(m_connectionId, SIGEV_PULSE_PRIO_INHERIT, c_quitCode, 0);