supplement 2.15 → 2.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README +2 -2
- data/lib/process.c +35 -0
- data/lib/supplement/socket.c +7 -3
- data/lib/supplement.c +0 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73e018e3f33dcfe0bea472488523a0afac6633396c4e8e76eab8afaef8a69402
|
4
|
+
data.tar.gz: fc145b68d752ee76ceb9a2aa8c37af81039ccf29692bc574f8c6960c24c1f983
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7af046c1e4311bcad5705cacfcd8404bc58162571bbb76f923d1abf0e0c4269a087018bf79174a46ffd02dea5c708f75b189e292799f0eda7467d0718d8bbeb3
|
7
|
+
data.tar.gz: fc90b82a5585635d96fc4cd2f079082744b4bd925c033d2a5feb37a170b59c973f5a8be663fa64d1d61f19013e0afda36f8a0559683a55a2aecf6b0a80dc27e4
|
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= supplement 2.
|
1
|
+
= supplement 2.17 -- Useful Ruby enhancements
|
2
2
|
|
3
3
|
|
4
4
|
Some simple Ruby extensions.
|
@@ -59,7 +59,7 @@ Now here it is where I can just point to.
|
|
59
59
|
* Struct.[]
|
60
60
|
* Integer.roman
|
61
61
|
* Date.easter
|
62
|
-
* TCPServer.accept with a code block
|
62
|
+
* TCPServer/UNIXServer.accept with a code block
|
63
63
|
* File system stats
|
64
64
|
* Process.renice
|
65
65
|
* Interval timer
|
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
|
|
data/lib/supplement/socket.c
CHANGED
@@ -40,14 +40,18 @@ socket_close( VALUE v)
|
|
40
40
|
void Init_socket( void)
|
41
41
|
{
|
42
42
|
VALUE rb_cTCPServer;
|
43
|
+
VALUE rb_cUNIXServer;
|
43
44
|
|
44
45
|
id_accept_orig = rb_intern( "accept_orig");
|
45
46
|
id_close = rb_intern( "close");
|
46
47
|
|
47
48
|
rb_require( "socket");
|
48
|
-
rb_cTCPServer
|
49
|
+
rb_cTCPServer = rb_const_get( rb_cObject, rb_intern( "TCPServer"));
|
50
|
+
rb_cUNIXServer = rb_const_get( rb_cObject, rb_intern( "UNIXServer"));
|
49
51
|
|
50
|
-
rb_define_alias( rb_cTCPServer,
|
51
|
-
rb_define_method( rb_cTCPServer,
|
52
|
+
rb_define_alias( rb_cTCPServer, "accept_orig", "accept");
|
53
|
+
rb_define_method( rb_cTCPServer, "accept", rb_socket_accept, 0);
|
54
|
+
rb_define_alias( rb_cUNIXServer, "accept_orig", "accept");
|
55
|
+
rb_define_method( rb_cUNIXServer, "accept", rb_socket_accept, 0);
|
52
56
|
}
|
53
57
|
|
data/lib/supplement.c
CHANGED
@@ -1513,7 +1513,6 @@ bsruby_set_thread_critical( VALUE c)
|
|
1513
1513
|
|
1514
1514
|
void Init_supplement( void)
|
1515
1515
|
{
|
1516
|
-
rb_define_alias( rb_cObject, "cls", "class");
|
1517
1516
|
rb_define_method( rb_cObject, "new_string", rb_obj_new_string, 0);
|
1518
1517
|
rb_define_method( rb_cObject, "nil_if", rb_obj_nil_if, 1);
|
1519
1518
|
#ifdef FEATURE_KERNEL_TAP
|
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.
|
4
|
+
version: '2.17'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bertram Scharpf
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-10-12 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.
|
84
|
+
rubygems_version: 3.4.20
|
85
85
|
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: Simple Ruby extensions
|