itsi 0.2.21 → 0.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +24 -10
  3. data/Cargo.toml +4 -0
  4. data/Rakefile +4 -0
  5. data/crates/itsi_scheduler/Cargo.toml +1 -1
  6. data/crates/itsi_server/Cargo.toml +1 -1
  7. data/crates/itsi_server/src/server/signal.rs +7 -5
  8. data/gems/scheduler/Cargo.lock +516 -3984
  9. data/gems/scheduler/Cargo.toml +4 -0
  10. data/gems/scheduler/Gemfile +11 -0
  11. data/gems/scheduler/Rakefile +21 -6
  12. data/gems/scheduler/itsi-scheduler.gemspec +5 -1
  13. data/gems/scheduler/lib/itsi/scheduler/native_extension.rb +34 -0
  14. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  15. data/gems/scheduler/lib/itsi/scheduler.rb +1 -1
  16. data/gems/scheduler/test/test_block_unblock.rb +1 -1
  17. data/gems/scheduler/vendor/rb-sys-build/.cargo-ok +1 -0
  18. data/gems/scheduler/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  19. data/gems/scheduler/vendor/rb-sys-build/Cargo.lock +294 -0
  20. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml +71 -0
  21. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  22. data/gems/scheduler/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  23. data/gems/scheduler/vendor/rb-sys-build/LICENSE-MIT +21 -0
  24. data/gems/scheduler/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  25. data/gems/scheduler/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  26. data/gems/scheduler/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  27. data/gems/scheduler/vendor/rb-sys-build/src/bindings.rs +280 -0
  28. data/gems/scheduler/vendor/rb-sys-build/src/cc.rs +421 -0
  29. data/gems/scheduler/vendor/rb-sys-build/src/lib.rs +12 -0
  30. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  31. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  32. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  33. data/gems/scheduler/vendor/rb-sys-build/src/rb_config.rs +906 -0
  34. data/gems/scheduler/vendor/rb-sys-build/src/utils.rs +53 -0
  35. data/gems/server/Cargo.lock +24 -37
  36. data/gems/server/Cargo.toml +4 -0
  37. data/gems/server/Gemfile +23 -0
  38. data/gems/server/Rakefile +39 -7
  39. data/gems/server/itsi-server.gemspec +5 -1
  40. data/gems/server/lib/itsi/server/native_extension.rb +34 -0
  41. data/gems/server/lib/itsi/server/version.rb +1 -1
  42. data/gems/server/lib/itsi/server.rb +10 -2
  43. data/gems/server/test/rack/test_rack_server.rb +14 -2
  44. data/gems/server/vendor/rb-sys-build/.cargo-ok +1 -0
  45. data/gems/server/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  46. data/gems/server/vendor/rb-sys-build/Cargo.lock +294 -0
  47. data/gems/server/vendor/rb-sys-build/Cargo.toml +71 -0
  48. data/gems/server/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  49. data/gems/server/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  50. data/gems/server/vendor/rb-sys-build/LICENSE-MIT +21 -0
  51. data/gems/server/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  52. data/gems/server/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  53. data/gems/server/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  54. data/gems/server/vendor/rb-sys-build/src/bindings.rs +280 -0
  55. data/gems/server/vendor/rb-sys-build/src/cc.rs +421 -0
  56. data/gems/server/vendor/rb-sys-build/src/lib.rs +12 -0
  57. data/gems/server/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  58. data/gems/server/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  59. data/gems/server/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  60. data/gems/server/vendor/rb-sys-build/src/rb_config.rs +906 -0
  61. data/gems/server/vendor/rb-sys-build/src/utils.rs +53 -0
  62. data/lib/itsi/version.rb +1 -1
  63. data/script/ci/resolve_version.rb +32 -0
  64. data/script/ci/set_version.rb +53 -0
  65. data/script/ci/setup_cibuildgem_rake_compiler.sh +63 -0
  66. data/script/ci/smoke_scheduler.rb +24 -0
  67. data/script/ci/smoke_server.rb +38 -0
  68. data/vendor/rb-sys-build/.cargo-ok +1 -0
  69. data/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  70. data/vendor/rb-sys-build/Cargo.lock +294 -0
  71. data/vendor/rb-sys-build/Cargo.toml +71 -0
  72. data/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  73. data/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  74. data/vendor/rb-sys-build/LICENSE-MIT +21 -0
  75. data/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  76. data/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  77. data/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  78. data/vendor/rb-sys-build/src/bindings.rs +280 -0
  79. data/vendor/rb-sys-build/src/cc.rs +421 -0
  80. data/vendor/rb-sys-build/src/lib.rs +12 -0
  81. data/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  82. data/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  83. data/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  84. data/vendor/rb-sys-build/src/rb_config.rs +906 -0
  85. data/vendor/rb-sys-build/src/utils.rs +53 -0
  86. metadata +68 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: edac434aa9724351fa9fe5220e3451534473303c08d5b6ad34d56bbd5fb1aec6
4
- data.tar.gz: 88efe1b953ed1a418666d32730450eb7c14c232d25ea94dcc4b1f169f649367e
3
+ metadata.gz: 431fc2c382fd32204fb84de948bfa584a7ad420aff7bd38df80823aef47e6a6e
4
+ data.tar.gz: 2f65a4465d5dfe4230d47409426713632eed82de3269a0f54678c558523cf27c
5
5
  SHA512:
6
- metadata.gz: 675fe7f09ec66c9583f3c69963127f3ec01e46bf613657bc7d8778919dfccf2a38d420348af3ed51fd5f4df6d05291fec816eab78daa67325196d589eb7dae82
7
- data.tar.gz: e6d3276f2b3e59f5dd6cda1f3bcb44e54a59260ca0bf265092bd26069f6ecb3a2c56ad804792a2304062f3e6f3e0e355cf668b89a9a8a93a18168ca4f90ed811
6
+ metadata.gz: e9e4b8395a97b8b81180aa83fb19c5bb1f0a15abb80846f29aa933051ac1ff1ac8e20a55244ab60f10eeb35e78ab3703c90073b5bc28da9c4b82b1c3e609224d
7
+ data.tar.gz: 9f5a32484e1e861e348dcfd3728479a0b8ea0ed11821f13256ffc64d6af1c8a17d5b2c53545e5b4b29eb5774421098f3d7a41d03b3094937230b8f4f37573f83
data/Cargo.lock CHANGED
@@ -270,7 +270,7 @@ version = "0.28.2"
270
270
  source = "registry+https://github.com/rust-lang/crates.io-index"
271
271
  checksum = "bfa9b6986f250236c27e5a204062434a773a13243d2ffc2955f37bdba4c5c6a1"
272
272
  dependencies = [
273
- "bindgen",
273
+ "bindgen 0.69.5",
274
274
  "cc",
275
275
  "cmake",
276
276
  "dunce",
@@ -427,6 +427,24 @@ dependencies = [
427
427
  "which",
428
428
  ]
429
429
 
430
+ [[package]]
431
+ name = "bindgen"
432
+ version = "0.72.1"
433
+ source = "registry+https://github.com/rust-lang/crates.io-index"
434
+ checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895"
435
+ dependencies = [
436
+ "bitflags 2.9.0",
437
+ "cexpr",
438
+ "clang-sys",
439
+ "itertools",
440
+ "proc-macro2",
441
+ "quote",
442
+ "regex",
443
+ "rustc-hash 2.1.1",
444
+ "shlex",
445
+ "syn 2.0.101",
446
+ ]
447
+
430
448
  [[package]]
431
449
  name = "bitflags"
432
450
  version = "1.3.2"
@@ -660,7 +678,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
660
678
  checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
661
679
  dependencies = [
662
680
  "lazy_static",
663
- "windows-sys 0.59.0",
681
+ "windows-sys 0.48.0",
664
682
  ]
665
683
 
666
684
  [[package]]
@@ -1934,8 +1952,7 @@ checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
1934
1952
  [[package]]
1935
1953
  name = "magnus"
1936
1954
  version = "0.8.2"
1937
- source = "registry+https://github.com/rust-lang/crates.io-index"
1938
- checksum = "3b36a5b126bbe97eb0d02d07acfeb327036c6319fd816139a49824a83b7f9012"
1955
+ source = "git+https://github.com/matsadler/magnus.git?rev=1ed232edb2b75a2eed9b1def34ad57e55c411a5c#1ed232edb2b75a2eed9b1def34ad57e55c411a5c"
1939
1956
  dependencies = [
1940
1957
  "bytes",
1941
1958
  "magnus-macros",
@@ -1947,8 +1964,7 @@ dependencies = [
1947
1964
  [[package]]
1948
1965
  name = "magnus-macros"
1949
1966
  version = "0.8.0"
1950
- source = "registry+https://github.com/rust-lang/crates.io-index"
1951
- checksum = "47607461fd8e1513cb4f2076c197d8092d921a1ea75bd08af97398f593751892"
1967
+ source = "git+https://github.com/matsadler/magnus.git?rev=1ed232edb2b75a2eed9b1def34ad57e55c411a5c#1ed232edb2b75a2eed9b1def34ad57e55c411a5c"
1952
1968
  dependencies = [
1953
1969
  "proc-macro2",
1954
1970
  "quote",
@@ -2591,10 +2607,8 @@ dependencies = [
2591
2607
  [[package]]
2592
2608
  name = "rb-sys-build"
2593
2609
  version = "0.9.124"
2594
- source = "registry+https://github.com/rust-lang/crates.io-index"
2595
- checksum = "568068db4102230882e6d4ae8de6632e224ca75fe5970f6e026a04e91ed635d3"
2596
2610
  dependencies = [
2597
- "bindgen",
2611
+ "bindgen 0.72.1",
2598
2612
  "lazy_static",
2599
2613
  "proc-macro2",
2600
2614
  "quote",
@@ -3922,7 +3936,7 @@ version = "0.1.9"
3922
3936
  source = "registry+https://github.com/rust-lang/crates.io-index"
3923
3937
  checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
3924
3938
  dependencies = [
3925
- "windows-sys 0.59.0",
3939
+ "windows-sys 0.48.0",
3926
3940
  ]
3927
3941
 
3928
3942
  [[package]]
data/Cargo.toml CHANGED
@@ -12,6 +12,10 @@ members = [
12
12
  ]
13
13
  resolver = "2"
14
14
 
15
+ [patch.crates-io]
16
+ magnus = { git = "https://github.com/matsadler/magnus.git", rev = "1ed232edb2b75a2eed9b1def34ad57e55c411a5c" }
17
+ rb-sys-build = { path = "vendor/rb-sys-build" }
18
+
15
19
 
16
20
  [profile.release]
17
21
  opt-level = 3
data/Rakefile CHANGED
@@ -57,7 +57,9 @@ task :sync_crates do
57
57
  require 'fileutils'
58
58
  GEMS.each do |gem_info|
59
59
  ext_dir = File.join(gem_info[:dir], 'ext')
60
+ vendor_dir = File.join(gem_info[:dir], 'vendor')
60
61
  FileUtils.mkdir_p(ext_dir)
62
+ FileUtils.mkdir_p(vendor_dir)
61
63
 
62
64
  Dir.chdir('crates') do
63
65
  Dir['*'].each do |to_sync|
@@ -68,6 +70,8 @@ task :sync_crates do
68
70
  system("cp ../Cargo.lock ../#{gem_info[:dir]}/Cargo.lock")
69
71
  end
70
72
  end
73
+
74
+ system("rsync -q -av vendor/rb-sys-build/ #{vendor_dir}/rb-sys-build --delete")
71
75
  end
72
76
  end
73
77
 
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-scheduler"
3
- version = "0.2.21"
3
+ version = "0.2.22"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "itsi-server"
3
- version = "0.2.21"
3
+ version = "0.2.22"
4
4
  edition = "2021"
5
5
  authors = ["Wouter Coppieters <wc@pico.net.nz>"]
6
6
  license = "MIT"
@@ -45,15 +45,17 @@ pub fn unsubscribe_runtime() {
45
45
  pub fn send_lifecycle_event(event: LifecycleEvent) {
46
46
  if let Some(sender) = SIGNAL_HANDLER_CHANNEL.lock().as_ref() {
47
47
  if let Err(e) = sender.send(event) {
48
- // Channel full or receivers dropped - this is a critical error for shutdown signals
49
- eprintln!("Critical: Failed to send lifecycle event {:?}", e);
50
- // For shutdown events, try to force exit if channel delivery fails
51
48
  if matches!(
52
49
  e.0,
53
50
  LifecycleEvent::Shutdown | LifecycleEvent::ForceShutdown
54
51
  ) {
55
- eprintln!("Emergency shutdown due to signal delivery failure");
56
- std::process::exit(1);
52
+ SHUTDOWN_REQUESTED.store(true, Ordering::SeqCst);
53
+ warn!(
54
+ "Dropping shutdown lifecycle event after receiver closed: {:?}",
55
+ e
56
+ );
57
+ } else {
58
+ eprintln!("Warning: Failed to send lifecycle event {:?}", e);
57
59
  }
58
60
  }
59
61
  } else {