projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.curoverse.com:arvados into 13429-cwl-runner-storage...
[arvados.git]
/
services
/
api
/
app
/
middlewares
/
rack_socket.rb
diff --git
a/services/api/app/middlewares/rack_socket.rb
b/services/api/app/middlewares/rack_socket.rb
index 8f82e585df07f431650270997325be9d6c7cf448..1b301e27abb0f781da583780f6e071acdf9f798e 100644
(file)
--- a/
services/api/app/middlewares/rack_socket.rb
+++ b/
services/api/app/middlewares/rack_socket.rb
@@
-1,3
+1,7
@@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
require 'rack'
require 'faye/websocket'
require 'eventmachine'
require 'rack'
require 'faye/websocket'
require 'eventmachine'
@@
-44,18
+48,26
@@
class RackSocket
if forked && EM.reactor_running?
EM.stop
end
if forked && EM.reactor_running?
EM.stop
end
- Thread.new {
- EM.run
- }
+ Thread.new do
+ begin
+ EM.run
+ ensure
+ ActiveRecord::Base.connection.close
+ end
+ end
die_gracefully_on_signal
end
else
# faciliates debugging
Thread.abort_on_exception = true
# just spawn a thread and start it up
die_gracefully_on_signal
end
else
# faciliates debugging
Thread.abort_on_exception = true
# just spawn a thread and start it up
- Thread.new {
- EM.run
- }
+ Thread.new do
+ begin
+ EM.run
+ ensure
+ ActiveRecord::Base.connection.close
+ end
+ end
end
# Create actual handler instance object from handler class.
end
# Create actual handler instance object from handler class.