Browse Source

Use path to differentiate persistent TCP streams.

Closes #139.

Backported from master (commit e7f2d28).
Daniele Alessandri 11 years ago
parent
commit
ea9809d4e8
1 changed files with 3 additions and 1 deletions
  1. 3 1
      lib/Predis/Connection/StreamConnection.php

+ 3 - 1
lib/Predis/Connection/StreamConnection.php

@@ -78,14 +78,16 @@ class StreamConnection extends AbstractConnection
      */
     private function tcpStreamInitializer(ConnectionParametersInterface $parameters)
     {
-        $uri = "tcp://{$parameters->host}:{$parameters->port}/";
+        $uri = "tcp://{$parameters->host}:{$parameters->port}";
         $flags = STREAM_CLIENT_CONNECT;
 
         if (isset($parameters->async_connect) && $parameters->async_connect) {
             $flags |= STREAM_CLIENT_ASYNC_CONNECT;
         }
+
         if (isset($parameters->persistent) && $parameters->persistent) {
             $flags |= STREAM_CLIENT_PERSISTENT;
+            $uri .= strpos($path = $parameters->path, '/') === 0 ? $path : "/$path";
         }
 
         $resource = @stream_socket_client($uri, $errno, $errstr, $parameters->timeout, $flags);