summaryrefslogtreecommitdiff
path: root/lib/webrick
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-08 18:51:56 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-12-08 18:51:56 +0000
commit22474d8f9636e1555d61cd4bb3d93698dc1ab2af (patch)
tree3ff001c6d322f1a347af2d5c1ae1f6d24c1dbe40 /lib/webrick
parent6d8f47fde1aa6b275d1bff0d7832944231b42353 (diff)
webrick: allow shutdown after StartCallback
We must to ensure the @status ivar is set to :Running before running StartCallback, otherwise Webrick::Server#stop will not change the @status to :Shutdown properly. Note: I have not been able to reproduce the original issue but understood at least part of the problem and fixed it with this commit. However, the original reporter (Peak Xu) was still able to reproduce the problem on 1.9.2 p180 on Windows, so I'm not sure what else might be going on. Ruby threading and synchronization primitives have changed a lot since 1.9.2, so maybe that was fixed elsewhere. * lib/webrick/server.rb: call StartCallback sooner [Bug #4841] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/webrick')
-rw-r--r--lib/webrick/server.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/webrick/server.rb b/lib/webrick/server.rb
index ca5e43578a..06b7f9fde3 100644
--- a/lib/webrick/server.rb
+++ b/lib/webrick/server.rb
@@ -157,12 +157,12 @@ module WEBrick
server_type.start{
@logger.info \
"#{self.class}#start: pid=#{$$} port=#{@config[:Port]}"
+ @status = :Running
call_callback(:StartCallback)
shutdown_pipe = @shutdown_pipe
thgroup = ThreadGroup.new
- @status = :Running
begin
while @status == :Running
begin