From f2e87e236ad89b4a3fc4dda59ed42ab9af04d08c Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Thu, 28 Jul 2016 11:46:55 +0200 Subject: irmd: Fix allocation result It was missing the FLOW_PENDING state. All states that are not FLOW_ALLOCATED should return -1. This is now fixed. --- src/irmd/main.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/irmd/main.c b/src/irmd/main.c index d7119bac..b071ff1c 100644 --- a/src/irmd/main.c +++ b/src/irmd/main.c @@ -998,17 +998,13 @@ static int flow_alloc_res(int port_id) return 0; } - if (e->state == FLOW_DESTROY) { - /* don't release the port_id, AP has to call dealloc */ - e->state = FLOW_NULL; - pthread_cond_signal(&e->state_cond); - pthread_mutex_unlock(&e->state_lock); - pthread_rwlock_unlock(&irmd->flows_lock); - pthread_rwlock_unlock(&irmd->state_lock); - return -1; - } + e->state = FLOW_NULL; + pthread_cond_signal(&e->state_cond); + pthread_mutex_unlock(&e->state_lock); + pthread_rwlock_unlock(&irmd->flows_lock); + pthread_rwlock_unlock(&irmd->state_lock); - return 0; + return -1; } static int flow_dealloc(int port_id) -- cgit v1.2.3