diff --git a/maestro/subscription_registry.c b/maestro/subscription_registry.c index 9ffb9f85ebe2f20bcfb5915f1b53661d92af2cff..bd19618bbdf673e06f4a6be5dee8e104c5a21690 100644 --- a/maestro/subscription_registry.c +++ b/maestro/subscription_registry.c @@ -1631,11 +1631,12 @@ mstro_subscription_selector_check(struct mstro_subscription_ *s, mstro_status status = MSTRO_NOMATCH; - if(ev->payload_case==MSTRO__POOL__EVENT__PAYLOAD_DECLARE) { + if((ev->payload_case==MSTRO__POOL__EVENT__PAYLOAD_DECLARE) || (ev->payload_case==MSTRO__POOL__EVENT__PAYLOAD_DISPOSE)){ /* declare is special: no CDOID known yet, no attribuites, only * string name. Efficient subscriptions will subscribe to * DECLARE_ACK instead. */ - WARN("DECLARE event always matches -- FIXME: only name could be checked (and we don't)\n"); + /**After dispose, we do not have an entry in the app registry for this cdo. */ + WARN("DECLARE and DISPOSE events always matches -- FIXME: only name could be checked (and we don't)\n"); return MSTRO_OK; } else { /* we always need the CDO id. Unfortunately it's slightly buried in the EV */