summaryrefslogtreecommitdiffstats
path: root/player/lua.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-06-27 21:08:55 +0200
committerwm4 <wm4@nowhere>2015-06-27 21:08:55 +0200
commit03c70a8d81f14ce46bc3410b08f5956d6af34d82 (patch)
tree39f71e3672e99990eaa665a58a6f3a174c025a54 /player/lua.c
parent6ffb1e2b661464bc31e2cfffd1d77727f27e1561 (diff)
downloadmpv-03c70a8d81f14ce46bc3410b08f5956d6af34d82.tar.bz2
mpv-03c70a8d81f14ce46bc3410b08f5956d6af34d82.tar.xz
subprocess, lua: export whether the process was killed by us
We want to distinguish actual errors, and just aborting the program intentionally. Also be a bit more careful with handling the wait() exit status: do not called WEXITSTATUS() without checking WIFEXITED() first.
Diffstat (limited to 'player/lua.c')
-rw-r--r--player/lua.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/player/lua.c b/player/lua.c
index f640b654cf..5a16c9202a 100644
--- a/player/lua.c
+++ b/player/lua.c
@@ -1243,6 +1243,8 @@ static int script_subprocess(lua_State *L)
lua_setfield(L, -2, "status"); // res
lua_pushlstring(L, cb_ctx.output.start, cb_ctx.output.len); // res d
lua_setfield(L, -2, "stdout"); // res
+ lua_pushboolean(L, status == MP_SUBPROCESS_EKILLED_BY_US); // res b
+ lua_setfield(L, -2, "killed_by_us"); // res
return 1;
}