}
if (!arg_no_block)
- r = wait_for_jobs(bus, s);
+ if ((r = wait_for_jobs(bus, s)) < 0)
+ goto finish;
+
+ r = 1;
finish:
if (s)
/* Nothing else worked, so let's try
* /dev/initctl */
- if (talk_initctl() != 0)
+ if (talk_initctl() > 0)
goto done;
log_error("Failed to talk to init daemon.");