diff options
| author | David Oberhollenzer <goliath@infraroot.at> | 2019-03-20 15:27:13 +0100 | 
|---|---|---|
| committer | David Oberhollenzer <goliath@infraroot.at> | 2019-03-20 15:44:14 +0100 | 
| commit | e21840cfced42425b9e742fbd199a19369d0b614 (patch) | |
| tree | 9dfe35ebf8624d95d0b144c3d28ea4fa262dd379 /initd | |
| parent | 390175c4062b414520129f9bbdf6a15cdb47d210 (diff) | |
initd: don't start runsvc for services without exec block
First in rdsvc, tag the services that *do* have exec lines, even if we don't
read them.
Second, if a service does not have that flag set, don't try to execute it.
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Diffstat (limited to 'initd')
| -rw-r--r-- | initd/supervisor.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/initd/supervisor.c b/initd/supervisor.c index cd38469..451ad93 100644 --- a/initd/supervisor.c +++ b/initd/supervisor.c @@ -156,6 +156,14 @@ bool supervisor_process_queues(void)  	svc = queue;  	queue = queue->next; +	if (!(svc->flags & SVC_FLAG_HAS_EXEC)) { +		print_status(svc->desc, STATUS_OK, false); +		svc->status = EXIT_SUCCESS; +		svc->next = completed; +		completed = svc; +		goto out; +	} +  	if (start_service(svc) != 0)  		return true; @@ -171,7 +179,7 @@ bool supervisor_process_queues(void)  		singleshot += 1;  		break;  	} - +out:  	if (singleshot == 0 && queue == NULL && !waiting)  		target_completed(target);  	return true; | 
