Changeset View
Changeset View
Standalone View
Standalone View
src/rfkill.cpp
Show First 20 Lines • Show All 122 Lines • ▼ Show 20 Line(s) | 118 | { | |||
---|---|---|---|---|---|
123 | if (m_state != oldState) { | 123 | if (m_state != oldState) { | ||
124 | Q_EMIT stateChanged(m_state); | 124 | Q_EMIT stateChanged(m_state); | ||
125 | } | 125 | } | ||
126 | } | 126 | } | ||
127 | 127 | | |||
128 | void Rfkill::init() | 128 | void Rfkill::init() | ||
129 | { | 129 | { | ||
130 | #ifdef Q_OS_LINUX | 130 | #ifdef Q_OS_LINUX | ||
131 | m_readFd = ::open("/dev/rfkill", O_RDONLY); | 131 | m_readFd = ::open("/dev/rfkill", O_RDONLY | O_CLOEXEC); | ||
132 | 132 | | |||
133 | if (m_readFd == -1) { | 133 | if (m_readFd == -1) { | ||
134 | qCWarning(BLUEZQT) << "Cannot open /dev/rfkill for reading!"; | 134 | qCWarning(BLUEZQT) << "Cannot open /dev/rfkill for reading!"; | ||
135 | return; | 135 | return; | ||
136 | } | 136 | } | ||
137 | 137 | | |||
138 | if (::fcntl(m_readFd, F_SETFL, O_NONBLOCK) < 0) { | 138 | if (::fcntl(m_readFd, F_SETFL, O_NONBLOCK) < 0) { | ||
139 | ::close(m_readFd); | 139 | ::close(m_readFd); | ||
Show All 12 Lines | |||||
152 | { | 152 | { | ||
153 | #ifndef Q_OS_LINUX | 153 | #ifndef Q_OS_LINUX | ||
154 | return false; | 154 | return false; | ||
155 | #else | 155 | #else | ||
156 | if (m_writeFd != -1) { | 156 | if (m_writeFd != -1) { | ||
157 | return true; | 157 | return true; | ||
158 | } | 158 | } | ||
159 | 159 | | |||
160 | m_writeFd = ::open("/dev/rfkill", O_WRONLY); | 160 | m_writeFd = ::open("/dev/rfkill", O_WRONLY | O_CLOEXEC); | ||
161 | 161 | | |||
162 | if (m_writeFd == -1) { | 162 | if (m_writeFd == -1) { | ||
163 | qCWarning(BLUEZQT) << "Cannot open /dev/rfkill for writing!"; | 163 | qCWarning(BLUEZQT) << "Cannot open /dev/rfkill for writing!"; | ||
164 | return false; | 164 | return false; | ||
165 | } | 165 | } | ||
166 | 166 | | |||
167 | if (::fcntl(m_writeFd, F_SETFL, O_NONBLOCK) < 0) { | 167 | if (::fcntl(m_writeFd, F_SETFL, O_NONBLOCK) < 0) { | ||
168 | ::close(m_writeFd); | 168 | ::close(m_writeFd); | ||
▲ Show 20 Lines • Show All 94 Lines • Show Last 20 Lines |