X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=service%2Finstance.c;h=35b2deffe80a576fd0d21a83df9d9f18e0fc524e;hp=29fb834e03cdbea9cdd0f1cc60956cb711dbc847;hb=09a48623fa914a985770ab17cfbecc2286cfae19;hpb=46954a519259e1818117adee133c119dedbd4523 diff --git a/service/instance.c b/service/instance.c index 29fb834..35b2def 100644 --- a/service/instance.c +++ b/service/instance.c @@ -295,7 +295,21 @@ instance_run(struct service_instance *in, int _stdout, int _stderr) exit(127); } -static void instance_free_stdio(struct service_instance *in); +static void +instance_free_stdio(struct service_instance *in) +{ + if (in->_stdout.fd.fd > -1) { + ustream_free(&in->_stdout.stream); + close(in->_stdout.fd.fd); + in->_stdout.fd.fd = -1; + } + + if (in->_stderr.fd.fd > -1) { + ustream_free(&in->_stderr.stream); + close(in->_stderr.fd.fd); + in->_stderr.fd.fd = -1; + } +} void instance_start(struct service_instance *in) @@ -823,22 +837,6 @@ instance_update(struct service_instance *in, struct service_instance *in_new) return true; } -static void -instance_free_stdio(struct service_instance *in) -{ - if (in->_stdout.fd.fd > -1) { - ustream_free(&in->_stdout.stream); - close(in->_stdout.fd.fd); - in->_stdout.fd.fd = -1; - } - - if (in->_stderr.fd.fd > -1) { - ustream_free(&in->_stderr.stream); - close(in->_stderr.fd.fd); - in->_stderr.fd.fd = -1; - } -} - void instance_free(struct service_instance *in) {