about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/unicorn.rb7
-rw-r--r--lib/unicorn/socket_helper.rb2
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index 72cda10..14e0e52 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -78,6 +78,13 @@ module Unicorn
         end
       end
     end
+
+    # returns an array of strings representing TCP listen socket addresses
+    # and Unix domain socket paths.  This is useful for use with
+    # Raindrops::Middleware under Linux: http://raindrops.bogomips.org/
+    def listener_names
+      HttpServer::LISTENERS.map { |io| SocketHelper.sock_name(io) }
+    end
   end
 
   # This is the process manager of Unicorn. This manages worker
diff --git a/lib/unicorn/socket_helper.rb b/lib/unicorn/socket_helper.rb
index 09085e5..9a4266d 100644
--- a/lib/unicorn/socket_helper.rb
+++ b/lib/unicorn/socket_helper.rb
@@ -136,6 +136,8 @@ module Unicorn
       end
     end
 
+    module_function :sock_name
+
     # casts a given Socket to be a TCPServer or UNIXServer
     def server_cast(sock)
       begin