fcgiwrap 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/ChangeLog +6 -1
  2. data/lib/fcgiwrap.rb +30 -11
  3. metadata +49 -42
data/ChangeLog CHANGED
@@ -1,4 +1,9 @@
1
- 06-10-16 Tatsuki Sugiura <sugi@nemui.org>
1
+ 2007-09-01 Tatsuki Sugiura <sugi@nemui.org>
2
+
3
+ * Speed tune for FCGIWrap.print
4
+ * Use singleton in FCGIWrap, now works with ruby 1.9
5
+
6
+ 2006-10-16 Tatsuki Sugiura <sugi@nemui.org>
2
7
 
3
8
  * release 0.1.5
4
9
  * add gemspec
@@ -12,9 +12,11 @@
12
12
  # FCGIWrap.each {
13
13
  # load '/path/to/original.cgi'
14
14
  # }
15
+ #
15
16
 
16
17
  require 'cgi'
17
18
  require 'fcgi'
19
+ require 'singleton'
18
20
 
19
21
  # for ruby 1.8 blow
20
22
  if RUBY_VERSION.tr(".", "0").to_i < 10801
@@ -28,33 +30,49 @@ if RUBY_VERSION.tr(".", "0").to_i < 10801
28
30
  end
29
31
 
30
32
  class FCGIWrap
31
- VERSION = "0.1.5"
32
- @@cgi = nil
33
- @@shutdown = false
33
+ include Singleton
34
+
35
+ VERSION = "0.1.6"
36
+
37
+ def initialize
38
+ cgi = nil
39
+ shutdown_p = false
40
+ end
41
+ attr_accessor :cgi, :shutdown_p
42
+
34
43
  class << self
35
44
  def cgi
36
- @@cgi
45
+ FCGIWrap.instance.cgi
46
+ end
47
+
48
+ def shutdown?
49
+ FCGIWrap.instance.shutdown_p
50
+ end
51
+
52
+ def shutdown=(f)
53
+ FCGIWrap.instance.shutdown_p = f
37
54
  end
38
55
 
39
56
  def each_request
40
57
  trap(:PIPE){ exit }
41
- trap(:TERM){ @@cgi ? (@@shutdown = true) : exit }
42
- trap(:INT){ @@cgi ? (@@shutdown = true) : exit }
43
- FCGI.each_cgi { |@@cgi|
58
+ trap(:TERM){ self.cgi ? (shutdown = true) : exit }
59
+ trap(:INT){ self.cgi ? (shutdown = true) : exit }
60
+ FCGI.each_cgi { |cgi|
61
+ FCGIWrap.instance.cgi = cgi
44
62
  ENV.clear
45
- ENV.update(@@cgi.env_table)
63
+ ENV.update(self.cgi.env_table)
46
64
  begin
47
65
  yield
48
66
  rescue SystemExit
49
- @@shutdown && raise
67
+ shutdown? && raise
50
68
  ensure
51
- @@cgi = nil
69
+ FCGIWrap.instance.cgi = nil
52
70
  #Thread.list.each { |t|
53
71
  # Thread.current == t and next
54
72
  # t.kill
55
73
  #}
56
74
  end
57
- @@shutdown && exit
75
+ shutdown? && exit
58
76
  }
59
77
  end
60
78
  alias each each_request
@@ -85,3 +103,4 @@ class CGI
85
103
  end
86
104
  end
87
105
 
106
+ # vim: set sts=2 sw=2 expandtab:
metadata CHANGED
@@ -1,56 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: fcgiwrap
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.1.5
7
- date: 2006-10-16 00:00:00 +09:00
8
- summary: A trick to wrap CGI in FastCGI easily
9
- require_paths:
10
- - lib
11
- email: sugi@nemui.org
12
- homepage:
13
- rubyforge_project:
14
- description:
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: false
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: 0.1.6
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - Tatsuki Sugiura
31
- files:
32
- - lib/fcgiwrap.rb
33
- - README
34
- - ChangeLog
35
- test_files: []
36
-
37
- rdoc_options: []
38
-
39
- extra_rdoc_files:
40
- - README
41
- executables: []
42
-
43
- extensions: []
44
-
45
- requirements: []
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
46
11
 
12
+ date: 2008-03-21 00:00:00 +09:00
13
+ default_executable:
47
14
  dependencies:
48
15
  - !ruby/object:Gem::Dependency
49
16
  name: fcgi
50
17
  version_requirement:
51
- version_requirements: !ruby/object:Gem::Version::Requirement
18
+ version_requirements: !ruby/object:Gem::Requirement
52
19
  requirements:
53
- - - ">"
20
+ - - ">="
54
21
  - !ruby/object:Gem::Version
55
- version: 0.0.0
22
+ version: "0"
56
23
  version:
24
+ description:
25
+ email: sugi@nemui.org
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - README
32
+ files:
33
+ - lib/fcgiwrap.rb
34
+ - README
35
+ - ChangeLog
36
+ has_rdoc: false
37
+ homepage:
38
+ post_install_message:
39
+ rdoc_options: []
40
+
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
48
+ version:
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ requirements: []
56
+
57
+ rubyforge_project:
58
+ rubygems_version: 1.0.1
59
+ signing_key:
60
+ specification_version: 2
61
+ summary: A trick to wrap CGI in FastCGI easily
62
+ test_files: []
63
+