return ret;
}
+static bool is_wildcard(char *service_name)
+{
+ char *c;
+
+ c = strchr(service_name, '*');
+ return c && *c != '\0';
+}
+
static int unit_control_make_decision(struct epc_event_handler *handler)
{
assert(handler);
log_debug("execute action %s on pattern %s", ev->method, service_name);
- if (!strcmp(ev->method, "start")) /* no need to query when starting */
+ if (!strcmp(ev->method, "start") || !is_wildcard(service_name)) /* no need to query when starting or for single unit*/
ret = unit_control_execute(service_name, ev->method, event);
else
ret = unit_control_query_and_execute(service_name, ev->method, event);