Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
lib: luvit: uv: implement pause/resume
for pipes and tty pause/resume also ref/unref the event loop.
everything else calls read_start or stop like node
  • Loading branch information
philips committed Jul 6, 2012
1 parent 42cc8b6 commit a54ef4c
Showing 1 changed file with 22 additions and 2 deletions.
24 changes: 22 additions & 2 deletions lib/luvit/uv.lua
Expand Up @@ -61,6 +61,16 @@ Stream.readStart = native.readStart
-- Stream:readStop()
Stream.readStop = native.readStop

-- Stream:pause()
function Stream:pause()
self:readStop()
end

-- Stream:resume()
function Stream:resume()
self:readStart()
end

-- Stream:write(chunk, callback)
Stream.write = native.write

Expand Down Expand Up @@ -153,6 +163,16 @@ Pipe.bind = native.pipeBind
-- Pipe:connect(name)
Pipe.connect = native.pipeConnect

function Pipe:pause()
native.unref()
self:readStop()
end

function Pipe:resume()
native.ref()
self:readStart()
end

--------------------------------------------------------------------------------

local Tty = Stream:extend()
Expand All @@ -170,12 +190,12 @@ Tty.getWinsize = native.ttyGetWinsize

Tty.resetMode = native.ttyResetMode

Tty.pause = function(self)
function Tty:pause()
native.unref()
self:readStop()
end

Tty.resume = function(self)
function Tty:resume()
native.ref()
self:readStart()
end
Expand Down

0 comments on commit a54ef4c

Please sign in to comment.