| Index: base/message_pump_libevent.cc
|
| diff --git a/base/message_pump_libevent.cc b/base/message_pump_libevent.cc
|
| index e6d2cea900b7791bda786afffbc11e8e3ed404ee..ddb2a2d56eeb56dde27c023242e55b77ce7f9686 100644
|
| --- a/base/message_pump_libevent.cc
|
| +++ b/base/message_pump_libevent.cc
|
| @@ -161,24 +161,11 @@ bool MessagePumpLibevent::WatchFileDescriptor(int fd,
|
| event_mask |= EV_WRITE;
|
| }
|
|
|
| - // |should_delete_event| is true if we're modifying an event that's currently
|
| - // active in |controller|.
|
| - // If we're modifying an existing event and there's an error then we need to
|
| - // tell libevent to clean it up via event_delete() before returning.
|
| - bool should_delete_event = true;
|
| scoped_ptr<event> evt(controller->ReleaseEvent());
|
| if (evt.get() == NULL) {
|
| - should_delete_event = false;
|
| // Ownership is transferred to the controller.
|
| evt.reset(new event);
|
| } else {
|
| - // It's illegal to use this function to listen on 2 separate fds with the
|
| - // same |controller|.
|
| - if (EVENT_FD(evt.get()) != fd) {
|
| - NOTREACHED() << "FDs don't match" << EVENT_FD(evt.get()) << "!=" << fd;
|
| - return false;
|
| - }
|
| -
|
| // Make sure we don't pick up any funky internal libevent masks.
|
| int old_interest_mask = evt.get()->ev_events &
|
| (EV_READ | EV_WRITE | EV_PERSIST);
|
| @@ -188,25 +175,25 @@ bool MessagePumpLibevent::WatchFileDescriptor(int fd,
|
|
|
| // Must disarm the event before we can reuse it.
|
| event_del(evt.get());
|
| +
|
| + // It's illegal to use this function to listen on 2 separate fds with the
|
| + // same |controller|.
|
| + if (EVENT_FD(evt.get()) != fd) {
|
| + NOTREACHED() << "FDs don't match" << EVENT_FD(evt.get()) << "!=" << fd;
|
| + return false;
|
| + }
|
| }
|
|
|
| // Set current interest mask and message pump for this event.
|
| - event_set(evt.get(), fd, event_mask, OnLibeventNotification,
|
| - delegate);
|
| + event_set(evt.get(), fd, event_mask, OnLibeventNotification, delegate);
|
|
|
| // Tell libevent which message pump this socket will belong to when we add it.
|
| if (event_base_set(event_base_, evt.get()) != 0) {
|
| - if (should_delete_event) {
|
| - event_del(evt.get());
|
| - }
|
| return false;
|
| }
|
|
|
| // Add this socket to the list of monitored sockets.
|
| if (event_add(evt.get(), NULL) != 0) {
|
| - if (should_delete_event) {
|
| - event_del(evt.get());
|
| - }
|
| return false;
|
| }
|
|
|
|
|