PPAPI/NaCl: Re-land speculative implementation for ipc_channel_nacl.cc
Original CL: http://codereview.chromium.org/10174048/
Was committed at 139635, reverted at 139646 due to a flake.
BUG=116317
TEST=
TBR=dmichael@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10442112
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139840 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 4e8f0a76a825acd08f373b0492c90bdd6cc10f0b
diff --git a/base/message_loop.cc b/base/message_loop.cc
index dd8ba3a..a207659 100644
--- a/base/message_loop.cc
+++ b/base/message_loop.cc
@@ -151,10 +151,12 @@
#define MESSAGE_PUMP_UI base::MessagePumpMac::Create()
#define MESSAGE_PUMP_IO new base::MessagePumpLibevent()
#elif defined(OS_NACL)
-// Currently NaCl doesn't have a UI or an IO MessageLoop.
-// TODO(abarth): Figure out if we need these.
+// Currently NaCl doesn't have a UI MessageLoop.
+// TODO(abarth): Figure out if we need this.
#define MESSAGE_PUMP_UI NULL
-#define MESSAGE_PUMP_IO NULL
+// ipc_channel_nacl.cc uses a worker thread to do socket reads currently, and
+// doesn't require extra support for watching file descriptors.
+#define MESSAGE_PUMP_IO new base::MessagePumpDefault();
#elif defined(OS_POSIX) // POSIX but not MACOSX.
#define MESSAGE_PUMP_UI new base::MessagePumpForUI()
#define MESSAGE_PUMP_IO new base::MessagePumpLibevent()