feat: server 信号处理,SIGINT/SIGTERM 置位关闭标志走优雅退出

This commit is contained in:
2026-10-06 15:53:21 +00:00
parent a08652252b
commit 20e71417ee
9 changed files with 423 additions and 126 deletions
Generated
+86 -20
View File
@@ -136,6 +136,15 @@ version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a"
[[package]]
name = "block2"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5"
dependencies = [
"objc2",
]
[[package]]
name = "bumpalo"
version = "3.20.3"
@@ -179,6 +188,12 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
[[package]]
name = "cfg_aliases"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f079e83a288787bcd14a6aea84cee5c87a67c5a3e660c30f557a3d24761b3527"
[[package]]
name = "chrono"
version = "0.4.45"
@@ -374,6 +389,17 @@ version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "ctrlc"
version = "3.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162"
dependencies = [
"dispatch2",
"nix 0.31.3",
"windows-sys 0.61.2",
]
[[package]]
name = "dashmap"
version = "6.2.1"
@@ -394,6 +420,18 @@ version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
[[package]]
name = "dispatch2"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38"
dependencies = [
"bitflags",
"block2",
"libc",
"objc2",
]
[[package]]
name = "dragonbox_ecma"
version = "0.1.12"
@@ -778,7 +816,19 @@ checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
dependencies = [
"bitflags",
"cfg-if",
"cfg_aliases",
"cfg_aliases 0.1.1",
"libc",
]
[[package]]
name = "nix"
version = "0.31.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d"
dependencies = [
"bitflags",
"cfg-if",
"cfg_aliases 0.2.2",
"libc",
]
@@ -831,6 +881,21 @@ dependencies = [
"autocfg",
]
[[package]]
name = "objc2"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08849bbd4767dfae9457696856ae1c84fe4e0281bbe4a7abff2d0e06fb7981f8"
dependencies = [
"objc2-encode",
]
[[package]]
name = "objc2-encode"
version = "4.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33"
[[package]]
name = "once_cell"
version = "1.21.4"
@@ -1095,7 +1160,7 @@ dependencies = [
[[package]]
name = "oxide_builtins"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"chrono",
"fast-float",
@@ -1120,7 +1185,7 @@ dependencies = [
[[package]]
name = "oxide_bytecode"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"num-bigint",
"oxide_log",
@@ -1128,7 +1193,7 @@ dependencies = [
[[package]]
name = "oxide_cfg"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_emit",
@@ -1139,11 +1204,12 @@ dependencies = [
[[package]]
name = "oxide_cli"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"ansi_term",
"bumpalo",
"clap",
"ctrlc",
"oxide_bytecode",
"oxide_code_cache",
"oxide_compiler",
@@ -1159,7 +1225,7 @@ dependencies = [
[[package]]
name = "oxide_code_cache"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"lru",
"oxide_bytecode",
@@ -1168,7 +1234,7 @@ dependencies = [
[[package]]
name = "oxide_compiler"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_cfg",
@@ -1187,7 +1253,7 @@ dependencies = [
[[package]]
name = "oxide_dce"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_cfg",
@@ -1201,7 +1267,7 @@ dependencies = [
[[package]]
name = "oxide_emit"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"num-bigint",
"oxc_allocator",
@@ -1216,7 +1282,7 @@ dependencies = [
[[package]]
name = "oxide_ir"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_log",
@@ -1225,7 +1291,7 @@ dependencies = [
[[package]]
name = "oxide_kernel"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"bumpalo",
"dashmap",
@@ -1240,7 +1306,7 @@ dependencies = [
[[package]]
name = "oxide_liveness"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_cfg",
@@ -1252,7 +1318,7 @@ dependencies = [
[[package]]
name = "oxide_log"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"tracing",
"tracing-appender",
@@ -1261,7 +1327,7 @@ dependencies = [
[[package]]
name = "oxide_parser"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxc_allocator",
"oxc_ast",
@@ -1276,7 +1342,7 @@ dependencies = [
[[package]]
name = "oxide_regalloc"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_cfg",
@@ -1292,7 +1358,7 @@ dependencies = [
[[package]]
name = "oxide_runtime_api"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"num-bigint",
"num-traits",
@@ -1304,7 +1370,7 @@ dependencies = [
[[package]]
name = "oxide_test262"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"oxide_bytecode",
"oxide_compiler",
@@ -1321,7 +1387,7 @@ dependencies = [
[[package]]
name = "oxide_types"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"bumpalo",
"hashbrown 0.14.5",
@@ -1333,7 +1399,7 @@ dependencies = [
[[package]]
name = "oxide_vm"
version = "0.8.30"
version = "0.8.31"
dependencies = [
"bumpalo",
"chrono",
@@ -1704,7 +1770,7 @@ dependencies = [
"libc",
"log",
"memchr",
"nix",
"nix 0.28.0",
"radix_trie",
"unicode-segmentation",
"unicode-width 0.1.14",