supplement 2.15 → 2.16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README +1 -1
  3. data/lib/process.c +35 -0
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7d2c8a62b912713a7bd3fde72cee97061910e0ee58e24486244bf08300b53aa
4
- data.tar.gz: f08f0bd64339672d195765b8815f9d25e26274b0253897ceb54cc5f475dbd768
3
+ metadata.gz: 6ba64230cdc82b400a4999ac0981145a2d1e4d59344b940adeafa1e036efb5ba
4
+ data.tar.gz: b4d43816094e6fffae62522754729237fcc41f0f58790c9753e388a94093645d
5
5
  SHA512:
6
- metadata.gz: 77e7a1dc857124d246dea1254da88d575cf2284513cc2cda5ee43ef600e9bb1a498b7e6669961142c3b70259e7090edb75800a5802add6275abf80b70e6bf86f
7
- data.tar.gz: 4ee842477fe6b142c9956267d0347bf5b9fd19da879ba52bf69f079108e3492a4a1c3674568940c20975e201a536518364f56b5c0c7ac1084392dbefb4fa69f0
6
+ metadata.gz: 449788ae54c3681d99470dcde71117550f835e4646508c75421dc22f6e17632a7ec6ab5614b3a269dc959e0b27b4a83873f5f795ec2b87a25f13cfcab45c8f12
7
+ data.tar.gz: 05e0431b4a23da92168e22a5e8ae57e834e28a0fb9d2e9edca9627d13255933a25cc464fd6b6bab21565248e57d51ac34ffbd0c98246e8b2050891c6db99294a
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = supplement 2.15 -- Useful Ruby enhancements
1
+ = supplement 2.16 -- Useful Ruby enhancements
2
2
 
3
3
 
4
4
  Some simple Ruby extensions.
data/lib/process.c CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  static VALUE rb_process_renice( int argc, VALUE *argv, VALUE obj);
21
21
  static VALUE rb_process_sync( VALUE obj);
22
+ static VALUE rb_process_alarm( int argc, VALUE *argv, VALUE obj);
22
23
 
23
24
 
24
25
  /*
@@ -62,9 +63,43 @@ rb_process_sync( VALUE obj)
62
63
  }
63
64
 
64
65
 
66
+ /*
67
+ * call-seq:
68
+ * Process.alarm( seconds = nil) -> nil
69
+ *
70
+ * Set alarm. Examples:
71
+ *
72
+ * Signal.trap :ALRM do
73
+ * puts "Three seconds have passed."
74
+ * end
75
+ * Process.alarm 3
76
+ * sleep 4
77
+ *
78
+ * begin
79
+ * Process.alarm 3
80
+ * sleep
81
+ * rescue SignalException
82
+ * $!.signm == "SIGALRM" or raise
83
+ * puts "Three seconds have passed."
84
+ * end
85
+ */
86
+
87
+ VALUE
88
+ rb_process_alarm( int argc, VALUE *argv, VALUE obj)
89
+ {
90
+ VALUE p;
91
+ unsigned int s;
92
+
93
+ s = rb_scan_args( argc, argv, "01", &p) == 1 ? NUM2INT( p) : 0;
94
+ s = alarm( s);
95
+ return s ? INT2NUM( s) : Qnil;
96
+ }
97
+
98
+
65
99
  void Init_supplement_process( void)
66
100
  {
67
101
  rb_define_singleton_method( rb_mProcess, "renice", rb_process_renice, -1);
68
102
  rb_define_singleton_method( rb_mProcess, "sync", rb_process_sync, 0);
103
+ rb_define_singleton_method( rb_mProcess, "alarm", rb_process_alarm, -1);
69
104
  }
70
105
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: supplement
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.15'
4
+ version: '2.16'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bertram Scharpf
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-24 00:00:00.000000000 Z
11
+ date: 2023-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autorake
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements:
83
83
  - Ruby and the autorake gem
84
- rubygems_version: 3.0.8
84
+ rubygems_version: 3.4.10
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: Simple Ruby extensions