summaryrefslogtreecommitdiff
path: root/xmake/core/base/process.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-06 23:35:19 +0800
committerruki <[email protected]>2020-02-07 22:45:57 +0800
commit7ba4dd03abc93f7faff3afa9968f8c8e7ce478c6 (patch)
tree75bc1bebb9655baeb3d4437c89923c55903a2f4b /xmake/core/base/process.lua
parent86dcc1f78cd9e84b9e09673eb602ca77661841cf (diff)
add process.kill
Diffstat (limited to 'xmake/core/base/process.lua')
-rw-r--r--xmake/core/base/process.lua19
1 files changed, 17 insertions, 2 deletions
diff --git a/xmake/core/base/process.lua b/xmake/core/base/process.lua
index 2abcfa00b..20cfbe02c 100644
--- a/xmake/core/base/process.lua
+++ b/xmake/core/base/process.lua
@@ -34,9 +34,10 @@ local scheduler = require("base/scheduler")
process._open = process._open or process.open
process._openv = process._openv or process.openv
process._wait = process._wait or process.wait
-process._waitlist = process._waitlist or process.waitlist
+process._kill = process._kill or process.kill
process._close = process._close or process.close
process.wait = nil
+process.kill = nil
process.close = nil
process._subprocess = _subprocess
@@ -92,8 +93,22 @@ function _subprocess:wait(timeout)
return result, status_or_errors
end
+-- kill subprocess
+function _subprocess:kill()
+
+ -- ensure opened
+ local ok, errors = self:_ensure_opened()
+ if not ok then
+ return false, errors
+ end
+
+ -- kill process
+ process._kill(self:cdata())
+ return true
+end
+
-- close subprocess
-function _subprocess:close(timeout)
+function _subprocess:close()
-- ensure opened
local ok, errors = self:_ensure_opened()