diff options
author | dimitri staessens <[email protected]> | 2016-07-28 11:46:55 +0200 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2016-07-28 11:46:55 +0200 |
commit | f2e87e236ad89b4a3fc4dda59ed42ab9af04d08c (patch) | |
tree | 88d94943823a7d44b2be9d13ba267cf04c995fe9 /src/irmd | |
parent | 351a48acbe1295e7a446951b7ae7c461d42b8bbb (diff) | |
download | ouroboros-f2e87e236ad89b4a3fc4dda59ed42ab9af04d08c.tar.gz ouroboros-f2e87e236ad89b4a3fc4dda59ed42ab9af04d08c.zip |
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.
Diffstat (limited to 'src/irmd')
-rw-r--r-- | src/irmd/main.c | 16 |
1 files changed, 6 insertions, 10 deletions
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) |