On 24/02/2017 10:26, Alin Nastac wrote: > Signed-off-by: Alin Nastac <alin.nas...@gmail.com>
Hi, can you write a little more info as to why this is needed and what scenario this fixes/changes ? John > --- > service/service.c | 5 ++++- > service/service.h | 1 + > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/service/service.c b/service/service.c > index 0584ee0..9675ba2 100644 > --- a/service/service.c > +++ b/service/service.c > @@ -140,6 +140,8 @@ service_update(struct service *s, struct blob_attr **tb, > bool add) > vlist_flush(&s->instances); > } > > + s->deleted = false; > + > rc(s->name, "running"); > > return 0; > @@ -149,6 +151,7 @@ static void > service_delete(struct service *s) > { > vlist_flush_all(&s->instances); > + s->deleted = true; > service_stopped(s); > } > > @@ -602,7 +605,7 @@ service_start_early(char *name, char *cmdline) > > void service_stopped(struct service *s) > { > - if (avl_is_empty(&s->instances.avl)) { > + if (s->deleted && avl_is_empty(&s->instances.avl)) { > service_event("service.stop", s->name, NULL); > avl_delete(&services, &s->avl); > trigger_del(s); > diff --git a/service/service.h b/service/service.h > index d4f0a83..cc629b1 100644 > --- a/service/service.h > +++ b/service/service.h > @@ -40,6 +40,7 @@ struct validate { > struct service { > struct avl_node avl; > const char *name; > + bool deleted; > > struct blob_attr *trigger; > struct vlist_tree instances; > _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev