net.server_event: Fix :pause() to actually stop reading from the socket, rather than...
authorMatthew Wild <mwild1@gmail.com>
Mon, 16 Jan 2012 04:44:23 +0000 (04:44 +0000)
committerMatthew Wild <mwild1@gmail.com>
Mon, 16 Jan 2012 04:44:23 +0000 (04:44 +0000)
net/server_event.lua

index f4745c3482c53f1df6df37f8c6fa7c799c4f046e..dbf5161f133920c41b40e1a3e0b0817d0d2f8816 100644 (file)
@@ -295,7 +295,10 @@ do
        end
 
        function interface_mt:resume()
-               return self:_lock(self.nointerface, false, self.nowriting);
+               self:_lock(self.nointerface, false, self.nowriting);
+               if not self.eventread then
+                       self.eventread = addevent( base, self.conn, EV_READ, self.readcallback, cfg.READ_TIMEOUT );  -- register callback
+               end
        end
 
        function interface_mt:counter(c)
@@ -642,6 +645,10 @@ do
                                                return -1
                                        end
                                end
+                               if interface.noreading then
+                                       interface.eventread = nil;
+                                       return -1;
+                               end
                                return EV_READ, cfg.READ_TIMEOUT
                        end
                end