daemons 1.1.8 → 1.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -1,4 +1,4 @@
1
- = Daemons Version 1.1.8
1
+ = Daemons Version 1.1.9
2
2
 
3
3
  (See Releases for release-specific information)
4
4
 
data/Releases CHANGED
@@ -1,5 +1,10 @@
1
1
  = Daemons Release History
2
2
 
3
+ == Release 1.1.9: August 10, 2012
4
+
5
+ * daemonize.rb: do srand in the forked child process both in daemonize and call_as_daemon
6
+ (thanks to Andrew Havens).
7
+
3
8
  == Release 1.1.8: February 7, 2012
4
9
 
5
10
  * rename to daemonization.rb to daemonize.rb (and Daemonization to Daemonize) to
@@ -8,5 +8,4 @@ end
8
8
 
9
9
  require 'daemons'
10
10
 
11
-
12
11
  Daemons.run(File.join(File.dirname(__FILE__), 'myserver.rb'))
@@ -0,0 +1,23 @@
1
+ lib_dir = File.expand_path(File.join(File.dirname(__FILE__), '../../lib'))
2
+
3
+ if File.exist?(File.join(lib_dir, 'daemons.rb'))
4
+ $LOAD_PATH.unshift lib_dir
5
+ else
6
+ begin; require 'rubygems'; rescue ::Exception; end
7
+ end
8
+
9
+
10
+ require 'daemons'
11
+
12
+
13
+ Daemons.run_proc('myscript') do
14
+ loop do
15
+ file = File.open('/tmp/myscript.log', 'a')
16
+ file.write(Random.rand) # breaks without seeding
17
+ # file.write(Random.new.rand) # works without seeding
18
+ # file.write(rand) # also works, but this is Kernel.rand() so its different
19
+ file.write("\n")
20
+ file.close()
21
+ sleep 2
22
+ end
23
+ end
@@ -66,7 +66,7 @@ require 'timeout'
66
66
  #
67
67
  module Daemons
68
68
 
69
- VERSION = "1.1.8"
69
+ VERSION = "1.1.9"
70
70
 
71
71
  require 'daemons/daemonize'
72
72
 
@@ -1,6 +1,7 @@
1
1
  require 'daemons/pidfile'
2
2
  require 'daemons/pidmem'
3
3
  require 'daemons/change_privilege'
4
+ require 'daemons/daemonize'
4
5
 
5
6
  require 'timeout'
6
7
 
@@ -76,6 +76,9 @@ module Daemonize
76
76
 
77
77
  redirect_io(logfile_name)
78
78
 
79
+ # Split rand streams between spawning and daemonized process
80
+ srand
81
+
79
82
  block.call
80
83
 
81
84
  exit
@@ -86,10 +89,7 @@ module Daemonize
86
89
 
87
90
  # Transform the current process into a daemon
88
91
  def daemonize(logfile_name = nil, app_name = nil)
89
- # Split rand streams between spawning and daemonized process
90
- srand
91
-
92
- # Fork and exit from the parent
92
+ # Fork and exit from the parent
93
93
  safefork and exit
94
94
 
95
95
  # Detach from the controlling terminal
@@ -110,6 +110,9 @@ module Daemonize
110
110
 
111
111
  redirect_io(logfile_name)
112
112
 
113
+ # Split rand streams between spawning and daemonized process
114
+ srand
115
+
113
116
  return sess_id
114
117
  end
115
118
  module_function :daemonize
metadata CHANGED
@@ -1,34 +1,31 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: daemons
3
- version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 1
8
- - 8
9
- version: 1.1.8
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.9
5
+ prerelease:
10
6
  platform: ruby
11
- authors:
7
+ authors:
12
8
  - Thomas Uehlinger
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
-
17
- date: 2012-02-07 00:00:00 +01:00
18
- default_executable:
12
+ date: 2012-08-10 00:00:00.000000000 Z
19
13
  dependencies: []
20
-
21
- description: Daemons provides an easy way to wrap existing ruby scripts (for example a self-written server) to be run as a daemon and to be controlled by simple start/stop/restart commands. You can also call blocks as daemons and control them from the parent or just daemonize the current process. Besides this basic functionality, daemons offers many advanced features like exception backtracing and logging (in case your ruby script crashes) and monitoring and automatic restarting of your processes if they crash.
14
+ description: Daemons provides an easy way to wrap existing ruby scripts (for example
15
+ a self-written server) to be run as a daemon and to be controlled by simple start/stop/restart
16
+ commands. You can also call blocks as daemons and control them from the parent
17
+ or just daemonize the current process. Besides this basic functionality, daemons
18
+ offers many advanced features like exception backtracing and logging (in case your
19
+ ruby script crashes) and monitoring and automatic restarting of your processes if
20
+ they crash.
22
21
  email: th.uehlinger@gmx.ch
23
22
  executables: []
24
-
25
23
  extensions: []
26
-
27
- extra_rdoc_files:
24
+ extra_rdoc_files:
28
25
  - README
29
26
  - Releases
30
27
  - TODO
31
- files:
28
+ files:
32
29
  - Rakefile
33
30
  - Releases
34
31
  - TODO
@@ -60,6 +57,7 @@ files:
60
57
  - examples/run/ctrl_optionparser.rb
61
58
  - examples/run/ctrl_proc.rb
62
59
  - examples/run/ctrl_proc_multiple.rb
60
+ - examples/run/ctrl_proc_rand.rb
63
61
  - examples/run/ctrl_proc_simple.rb
64
62
  - examples/run/ctrl_slowstop.rb
65
63
  - examples/run/myserver.rb
@@ -70,35 +68,28 @@ files:
70
68
  - examples/call/call.rb
71
69
  - examples/call/call_monitor.rb
72
70
  - examples/daemonize/daemonize.rb
73
- has_rdoc: true
74
71
  homepage: http://daemons.rubyforge.org
75
72
  licenses: []
76
-
77
73
  post_install_message:
78
74
  rdoc_options: []
79
-
80
- require_paths:
75
+ require_paths:
81
76
  - lib
82
- required_ruby_version: !ruby/object:Gem::Requirement
83
- requirements:
84
- - - ">="
85
- - !ruby/object:Gem::Version
86
- segments:
87
- - 0
88
- version: "0"
89
- required_rubygems_version: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- segments:
94
- - 0
95
- version: "0"
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ none: false
79
+ requirements:
80
+ - - ! '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
96
89
  requirements: []
97
-
98
90
  rubyforge_project: daemons
99
- rubygems_version: 1.3.6
91
+ rubygems_version: 1.8.23
100
92
  signing_key:
101
93
  specification_version: 2
102
94
  summary: A toolkit to create and control daemons in different ways
103
95
  test_files: []
104
-