Chromium Code Reviews| Index: runtime/bin/eventhandler_linux.cc |
| diff --git a/runtime/bin/eventhandler_linux.cc b/runtime/bin/eventhandler_linux.cc |
| index 1bf9378aac2a309bc04abd33fbefbdd58fcb3e4a..226e1ceca0d9967443a0eb01d4d5b55dde6ba236 100644 |
| --- a/runtime/bin/eventhandler_linux.cc |
| +++ b/runtime/bin/eventhandler_linux.cc |
| @@ -314,6 +314,9 @@ intptr_t EventHandlerImplementation::GetPollEvents(intptr_t events, |
| event_mask = (1 << kCloseEvent); |
| sd->MarkClosedRead(); |
| } |
| + } else { |
| + // Assert we never get a EPOLLHUP on a non-piping socket. |
|
Mads Ager (google)
2013/02/22 09:39:00
non-pipe file descriptor
Søren Gjesse
2013/02/22 09:39:05
a -> an
Anders Johnsen
2013/06/11 12:14:54
Done.
Anders Johnsen
2013/06/11 12:14:54
Done.
|
| + ASSERT(events != EPOLLHUP); |
| } |
| if ((events & EPOLLOUT) != 0) { |
| @@ -324,6 +327,12 @@ intptr_t EventHandlerImplementation::GetPollEvents(intptr_t events, |
| event_mask |= (1 << kOutEvent); |
| } |
| } |
| + |
| + if (events == (EPOLLHUP | EPOLLERR)) { |
| + event_mask = (1 << kErrorEvent); |
| + sd->MarkClosedWrite(); |
| + sd->MarkClosedRead(); |
| + } |
| } |
| return event_mask; |