summaryrefslogtreecommitdiff
path: root/src/event_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-06-08 22:42:51 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-06-08 22:42:51 +0100
commit409d804ee85074eed8bd94f616bc23284bdf5eb9 (patch)
treeac725706d8155d1141be6fb366aa1840bb2f9beb /src/event_manager.cc
parent6cb7e20d54984494d98589213119a9e2accb0317 (diff)
Do not close stderr/stdout before program finish
Programs like grep called in '$' command will fail due to SIGPIPE for example. So we need to keep the pipe open.
Diffstat (limited to 'src/event_manager.cc')
-rw-r--r--src/event_manager.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/event_manager.cc b/src/event_manager.cc
index 21cd6331..0b345fc2 100644
--- a/src/event_manager.cc
+++ b/src/event_manager.cc
@@ -25,8 +25,11 @@ void FDWatcher::run(EventMode mode)
void FDWatcher::close_fd()
{
- close(m_fd);
- m_fd = -1;
+ if (m_fd != -1)
+ {
+ close(m_fd);
+ m_fd = -1;
+ }
}
Timer::Timer(TimePoint date, Callback callback, EventMode mode)