summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-03-31 21:57:56 +0800
committerruki <[email protected]>2024-03-31 21:57:56 +0800
commit454048ab2a488f706801c4cc15a06272a8b005a8 (patch)
treeb2fc66eb5dd3d2fb4beebe6602658b90dbe79736
parent536ad613e5c7b2ba8581c740548bf359b0fea91f (diff)
add signal test
-rw-r--r--core/src/xmake/os/signal.c2
-rw-r--r--core/src/xmake/os/sleep.c7
-rw-r--r--tests/modules/signal/sigint.lua8
-rw-r--r--xmake/core/base/signal.lua2
4 files changed, 10 insertions, 9 deletions
diff --git a/core/src/xmake/os/signal.c b/core/src/xmake/os/signal.c
index fa58b8dd7..066cc7042 100644
--- a/core/src/xmake/os/signal.c
+++ b/core/src/xmake/os/signal.c
@@ -46,7 +46,7 @@
* types
*/
typedef enum __xm_os_signal_e {
- XM_OS_SIGINT = 1
+ XM_OS_SIGINT = 2
}xm_os_signal_e;
typedef enum __xm_os_signal_handler_e {
diff --git a/core/src/xmake/os/sleep.c b/core/src/xmake/os/sleep.c
index 87d6340a7..e89ebff25 100644
--- a/core/src/xmake/os/sleep.c
+++ b/core/src/xmake/os/sleep.c
@@ -35,15 +35,8 @@
*/
tb_int_t xm_os_sleep(lua_State* lua)
{
- // check
tb_assert_and_check_return_val(lua, 0);
-
- // get the interval (ms)
tb_long_t interval = (tb_long_t)luaL_checklong(lua, 1);
-
- // sleep it
if (interval >= 0) tb_msleep(interval);
-
- // ok
return 0;
}
diff --git a/tests/modules/signal/sigint.lua b/tests/modules/signal/sigint.lua
new file mode 100644
index 000000000..5b4cb03a3
--- /dev/null
+++ b/tests/modules/signal/sigint.lua
@@ -0,0 +1,8 @@
+import("core.base.signal")
+
+function main()
+ signal.register(signal.SIGINT, function (signo)
+ print("signal.SIGINT(%d)", signo)
+ end)
+ io.read()
+end
diff --git a/xmake/core/base/signal.lua b/xmake/core/base/signal.lua
index afcbdb684..e281bb1f4 100644
--- a/xmake/core/base/signal.lua
+++ b/xmake/core/base/signal.lua
@@ -25,7 +25,7 @@ local signal = signal or {}
local os = require("base/os")
-- signal code
-signal.SIGINT = 1
+signal.SIGINT = 2
-- register signal handler
function signal.register(signo, handler)