diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-11 01:13:10 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-11 01:13:10 +0000 |
commit | 300b7c80e4266fd4ed15b503d503f68def64aa67 (patch) | |
tree | 482651e55d4d0c5cafc468f0d2852b0d69f5acb1 | |
parent | f328b9d0d5a6919fb7d76ac5d344f1b03d388079 (diff) |
* process.c (rb_daemon): daemon(3) is implemented with fork(2).
Therefore it needs rb_thread_atfork(). (and revert r41903)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | process.c | 1 | ||||
-rw-r--r-- | test/ruby/test_process.rb | 12 |
3 files changed, 6 insertions, 12 deletions
@@ -1,3 +1,8 @@ +Thu Jul 11 10:09:18 2013 NARUSE, Yui <naruse@ruby-lang.org> + + * process.c (rb_daemon): daemon(3) is implemented with fork(2). + Therefore it needs rb_thread_atfork(). (and revert r41903) + Thu Jul 11 03:22:10 2013 Aaron Patterson <aaron@tenderlovemaking.com> * tool/probes_to_wiki.rb: adding a script to convert probes.d to wiki @@ -5736,6 +5736,7 @@ rb_daemon(int nochdir, int noclose) before_fork(); err = daemon(nochdir, noclose); after_fork(); + rb_thread_atfork(); #else int n; diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb index 226e348156..058494385d 100644 --- a/test/ruby/test_process.rb +++ b/test/ruby/test_process.rb @@ -1492,18 +1492,6 @@ class TestProcess < Test::Unit::TestCase assert_equal(2, data.size, bug4920) assert_not_include(data.map(&:to_i), pid) end - elsif /freebsd/ =~ RUBY_PLATFORM - def test_daemon_no_threads - data = Timeout.timeout(3) do - IO.popen("-") do |f| - break f.readlines.map(&:chomp) if f - th = Thread.start {sleep 3} - Process.daemon(true, true) - puts Thread.list.size, th.status.inspect - end - end - assert_equal(["2", "\"run\""], data) - end else # darwin def test_daemon_no_threads data = Timeout.timeout(3) do |