480a481,484
>         // remember inproc connections for disconnect
>         inprocs.insert (inprocs_t::value_type (std::string (addr_), pipes[0]));
>         inprocs.insert (inprocs_t::value_type (std::string (addr_), pipes[1]));
> 
586a591,616
>     //  Parse addr_ string.
>     std::string protocol;
>     std::string address;
>     rc = parse_uri (addr_, protocol, address);
>     if (rc != 0)
>         return -1;
> 
>     rc = check_protocol (protocol);
>     if (rc != 0)
>         return -1;
> 
>     // Disconnect an inproc socket
>     if (protocol == "inproc") {
> 
>         std::pair <inprocs_t::iterator, inprocs_t::iterator> range = inprocs.equal_range (std::string (addr_));
>         if (range.first == range.second)
>             return -1;
> 	
>         for (inprocs_t::iterator it = range.first; it != range.second; ++it) {
>             it->second->terminate(true);
>         }	
>         inprocs.erase (range.first, range.second);
>         return 0;
>     }
> 
> 
