diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 1cadb48d9..d1cf8a187 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -140,7 +140,7 @@ static void handleUserSignal(int sig) { bool CCompositor::setWatchdogFd(int fd) { m_watchdogWriteFd = Hyprutils::OS::CFileDescriptor{fd}; - m_watchdogWriteFd.setFlags(m_watchdogWriteFd.getFlags() | O_CLOEXEC); + m_watchdogWriteFd.setFlags(m_watchdogWriteFd.getFlags() | FD_CLOEXEC); return m_watchdogWriteFd.isValid() && !m_watchdogWriteFd.isClosed(); } diff --git a/src/config/shared/inotify/ConfigWatcher.cpp b/src/config/shared/inotify/ConfigWatcher.cpp index 3c2d15a79..905d55c74 100644 --- a/src/config/shared/inotify/ConfigWatcher.cpp +++ b/src/config/shared/inotify/ConfigWatcher.cpp @@ -7,7 +7,6 @@ #include "../../ConfigValue.hpp" #include "../../ConfigManager.hpp" #include -#include #include #include @@ -19,19 +18,11 @@ UP& Config::watcher() { return p; } -CConfigWatcher::CConfigWatcher() : m_inotifyFd(inotify_init()) { +CConfigWatcher::CConfigWatcher() : m_inotifyFd(inotify_init1(IN_NONBLOCK | IN_CLOEXEC)) { if (!m_inotifyFd.isValid()) { Log::logger->log(Log::ERR, "CConfigWatcher couldn't open an inotify node. Config will not be automatically reloaded"); return; } - - // TODO: make CFileDescriptor take F_GETFL, F_SETFL - const int FLAGS = fcntl(m_inotifyFd.get(), F_GETFL, 0); - if (fcntl(m_inotifyFd.get(), F_SETFL, FLAGS | O_NONBLOCK | O_CLOEXEC) < 0) { - Log::logger->log(Log::ERR, "CConfigWatcher couldn't non-block inotify node. Config will not be automatically reloaded"); - m_inotifyFd.reset(); - return; - } } CFileDescriptor& CConfigWatcher::getInotifyFD() { diff --git a/start/src/core/Instance.cpp b/start/src/core/Instance.cpp index 860cc49d9..03ae9d20d 100644 --- a/start/src/core/Instance.cpp +++ b/start/src/core/Instance.cpp @@ -155,9 +155,9 @@ bool CHyprlandInstance::run(bool safeMode) { m_wakeupRead = CFileDescriptor{pipefds[0]}; m_wakeupWrite = CFileDescriptor{pipefds[1]}; - m_fromHlPid.setFlags(m_fromHlPid.getFlags() | O_CLOEXEC); - m_wakeupRead.setFlags(m_wakeupRead.getFlags() | O_CLOEXEC); - m_wakeupWrite.setFlags(m_wakeupWrite.getFlags() | O_CLOEXEC); + m_fromHlPid.setFlags(m_fromHlPid.getFlags() | FD_CLOEXEC); + m_wakeupRead.setFlags(m_wakeupRead.getFlags() | FD_CLOEXEC); + m_wakeupWrite.setFlags(m_wakeupWrite.getFlags() | FD_CLOEXEC); runHyprlandThread(safeMode);