init: fix routing to child with multiple services

Init's service forwarding functionality did not take the service type
into account when forwarding a session request. If a server provides
multiple services, e.g. fb_sdl that provides both "Input" and
"Framebuffer", the type of the forwarded session request did not always
correspond to the actually requested type.
This commit is contained in:
Norman Feske 2017-03-31 18:22:24 +02:00 committed by Christian Helmuth
parent da294cb02a
commit 539d976a9a

View File

@ -81,7 +81,7 @@ Init::Server::Service::resolve_session_request(Session_label const &label)
Routed_service *match = nullptr;
_child_services.for_each([&] (Routed_service &service) {
if (service.child_name() == child_name)
if (service.child_name() == child_name && service.name() == name())
match = &service; });
if (!match || match->abandoned())