raindrops 0.4.0 → 0.4.1
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.
- data/GIT-VERSION-GEN +1 -1
- data/GNUmakefile +1 -0
- data/Rakefile +15 -2
- data/ext/raindrops/extconf.rb +7 -1
- data/ext/raindrops/linux_inet_diag.c +19 -9
- data/lib/raindrops.rb +2 -2
- metadata +4 -4
data/GIT-VERSION-GEN
CHANGED
data/GNUmakefile
CHANGED
@@ -152,6 +152,7 @@ release: verify package $(release_notes) $(release_changes)
|
|
152
152
|
# in case of gem downloads from RubyForge releases page
|
153
153
|
-rubyforge add_file \
|
154
154
|
$(rfproject) $(rfpackage) $(VERSION) $(pkggem)
|
155
|
+
$(RAKE) publish_news VERSION=$(VERSION)
|
155
156
|
else
|
156
157
|
gem install-gem: GIT-VERSION-FILE
|
157
158
|
$(MAKE) $@ VERSION=$(GIT_VERSION)
|
data/Rakefile
CHANGED
@@ -105,8 +105,21 @@ end
|
|
105
105
|
desc "read news article from STDIN and post to rubyforge"
|
106
106
|
task :publish_news do
|
107
107
|
require 'rubyforge'
|
108
|
-
|
109
|
-
|
108
|
+
spec = Gem::Specification.load('raindrops.gemspec')
|
109
|
+
tmp = Tempfile.new('rf-news')
|
110
|
+
_, subject, body = `git cat-file tag v#{spec.version}`.split(/\n\n/, 3)
|
111
|
+
tmp.puts subject
|
112
|
+
tmp.puts
|
113
|
+
tmp.puts spec.description.strip
|
114
|
+
tmp.puts ""
|
115
|
+
tmp.puts "* #{spec.homepage}"
|
116
|
+
tmp.puts "* #{spec.email}"
|
117
|
+
tmp.puts "* #{git_url}"
|
118
|
+
tmp.print "\nChanges:\n\n"
|
119
|
+
tmp.puts body
|
120
|
+
tmp.flush
|
121
|
+
system(ENV["VISUAL"], tmp.path) or abort "#{ENV["VISUAL"]} failed: #$?"
|
122
|
+
msg = File.readlines(tmp.path)
|
110
123
|
subject = msg.shift
|
111
124
|
blank = msg.shift
|
112
125
|
blank == "\n" or abort "no newline after subject!"
|
data/ext/raindrops/extconf.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'mkmf'
|
2
2
|
|
3
|
-
# FIXME: test for GCC __sync_XXX builtins here, somehow...
|
4
3
|
have_func('mmap', 'sys/mman.h') or abort 'mmap() not found'
|
5
4
|
have_func('munmap', 'sys/mman.h') or abort 'munmap() not found'
|
6
5
|
|
@@ -18,6 +17,13 @@ int main(int argc, char * const argv[]) {
|
|
18
17
|
SRC
|
19
18
|
|
20
19
|
if try_run(src)
|
20
|
+
# some systems target GCC for i386 and don't get the atomic builtins
|
21
|
+
# when building shared objects
|
22
|
+
arch = `#{CONFIG['CC']} -dumpmachine`.split(/-/)[0]
|
23
|
+
if arch == "i386" && $CFLAGS !~ /\b-march=/
|
24
|
+
$CFLAGS += " -march=i486 "
|
25
|
+
end
|
26
|
+
|
21
27
|
$defs.push(format("-DHAVE_GCC_ATOMIC_BUILTINS"))
|
22
28
|
true
|
23
29
|
else
|
@@ -1,4 +1,5 @@
|
|
1
1
|
#include <ruby.h>
|
2
|
+
#ifdef __linux__
|
2
3
|
|
3
4
|
/* Ruby 1.8.6+ macros (for compatibility with Ruby 1.9) */
|
4
5
|
#ifndef RSTRING_PTR
|
@@ -7,11 +8,13 @@
|
|
7
8
|
#ifndef RSTRING_LEN
|
8
9
|
# define RSTRING_LEN(s) (RSTRING(s)->len)
|
9
10
|
#endif
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
11
|
+
#ifdef RSTRUCT
|
12
|
+
# ifndef RSTRUCT_PTR
|
13
|
+
# define RSTRUCT_PTR(s) (RSTRUCT(s)->ptr)
|
14
|
+
# endif
|
15
|
+
# ifndef RSTRUCT_LEN
|
16
|
+
# define RSTRUCT_LEN(s) (RSTRUCT(s)->len)
|
17
|
+
# endif
|
15
18
|
#endif
|
16
19
|
|
17
20
|
#ifndef HAVE_RB_STRUCT_ALLOC_NOINIT
|
@@ -85,11 +88,17 @@ struct nogvl_args {
|
|
85
88
|
static VALUE rb_listen_stats(struct listen_stats *stats)
|
86
89
|
{
|
87
90
|
VALUE rv = rb_struct_alloc_noinit(cListenStats);
|
88
|
-
VALUE
|
89
|
-
|
90
|
-
ptr[0] = LONG2NUM(stats->active);
|
91
|
-
ptr[1] = LONG2NUM(stats->queued);
|
91
|
+
VALUE active = LONG2NUM(stats->active);
|
92
|
+
VALUE queued = LONG2NUM(stats->queued);
|
92
93
|
|
94
|
+
#ifdef RSTRUCT_PTR
|
95
|
+
VALUE *ptr = RSTRUCT_PTR(rv);
|
96
|
+
ptr[0] = active;
|
97
|
+
ptr[1] = queued;
|
98
|
+
#else /* Rubinius */
|
99
|
+
rb_funcall(rv, rb_intern("active="), 1, active);
|
100
|
+
rb_funcall(rv, rb_intern("queued="), 1, queued);
|
101
|
+
#endif /* ! Rubinius */
|
93
102
|
return rv;
|
94
103
|
}
|
95
104
|
|
@@ -340,3 +349,4 @@ void Init_raindrops_linux_inet_diag(void)
|
|
340
349
|
|
341
350
|
assert(OPLEN <= page_size && "bytecode OPLEN is not <= PAGE_SIZE");
|
342
351
|
}
|
352
|
+
#endif /* __linux__ */
|
data/lib/raindrops.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- encoding: binary -*-
|
2
2
|
class Raindrops
|
3
3
|
|
4
|
-
# Raindrops is currently at version 0.4.
|
5
|
-
VERSION = '0.4.
|
4
|
+
# Raindrops is currently at version 0.4.1
|
5
|
+
VERSION = '0.4.1'
|
6
6
|
|
7
7
|
# Used to represent the number of +active+ and +queued+ sockets for
|
8
8
|
# a single listen socket across all threads and processes on a
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: raindrops
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 1
|
10
|
+
version: 0.4.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- raindrops hackers
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-09-
|
18
|
+
date: 2010-09-26 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|