diff options
author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-12-06 14:31:49 +0000 |
---|---|---|
committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-12-06 14:31:49 +0000 |
commit | 3068c438767fe54a1cced215e6df379a5c7ea8bf (patch) | |
tree | 841b7c48c047afc1ad2bc44999158e0bdf657a9e /src/ipcpd/normal/pol/flat.c | |
parent | 82ae7959d21c654fe9fd14de504f47d18b1ebcfc (diff) | |
parent | a4031fa3d1eb63c1ff83ba37e5e89d6b1a7d5d04 (diff) | |
download | ouroboros-3068c438767fe54a1cced215e6df379a5c7ea8bf.tar.gz ouroboros-3068c438767fe54a1cced215e6df379a5c7ea8bf.zip |
Merged in sandervrijders/ouroboros/be-fix-normal-shutdown (pull request #320)
ipcpd: normal: Fix errors on IPCP shutdown
Diffstat (limited to 'src/ipcpd/normal/pol/flat.c')
-rw-r--r-- | src/ipcpd/normal/pol/flat.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/ipcpd/normal/pol/flat.c b/src/ipcpd/normal/pol/flat.c index 06958222..7d489dd5 100644 --- a/src/ipcpd/normal/pol/flat.c +++ b/src/ipcpd/normal/pol/flat.c @@ -163,15 +163,17 @@ int flat_init(void) return -1; } - if (ro_create(name, &rattr, NULL, 0)) { - LOG_ERR("Could not create RO."); - pathname_destroy(name); - pthread_cond_destroy(&flat.cond); - pthread_mutex_destroy(&flat.lock); - ro_unsubscribe(flat.sid); - return -1; + if (!ro_exists(name)) { + rattr.enrol_sync = true; + if (ro_create(name, &rattr, NULL, 0)) { + LOG_ERR("Could not create RO."); + pathname_destroy(name); + pthread_cond_destroy(&flat.cond); + pthread_mutex_destroy(&flat.lock); + ro_unsubscribe(flat.sid); + return -1; + } } - pathname_destroy(name); return 0; |