Signed-off-by: Angus Salkeld <asalkeld(a)redhat.com>
---
lib/ipc_shm.c | 8 +++++---
lib/ipcs.c | 2 +-
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/lib/ipc_shm.c b/lib/ipc_shm.c
index 46042c6..94bfe74 100644
--- a/lib/ipc_shm.c
+++ b/lib/ipc_shm.c
@@ -185,11 +185,13 @@ static void qb_ipcs_shm_disconnect(struct qb_ipcs_connection *c)
msg.size = sizeof(msg);
msg.error = 0;
- qb_ipcs_shm_dispatch_send(c, &msg, msg.size);
- if (c->u.shm.response.rb)
+ if (c->u.shm.response.rb) {
+ qb_ipcs_shm_dispatch_send(c, &msg, msg.size);
qb_rb_close(c->u.shm.response.rb);
- if (c->u.shm.dispatch.rb)
+ }
+ if (c->u.shm.dispatch.rb) {
qb_rb_close(c->u.shm.dispatch.rb);
+ }
}
static void qb_ipcs_shm_destroy(struct qb_ipcs_service *s)
diff --git a/lib/ipcs.c b/lib/ipcs.c
index 282531b..1d90622 100644
--- a/lib/ipcs.c
+++ b/lib/ipcs.c
@@ -190,8 +190,8 @@ static void qb_ipcs_disconnect_internal(void *data)
if (c->service->serv_fns.connection_destroyed) {
c->service->serv_fns.connection_destroyed(c->handle);
}
- qb_ipcc_us_disconnect(c->sock);
c->service->funcs.disconnect(c);
+ qb_ipcc_us_disconnect(c->sock);
}
void qb_ipcs_disconnect(struct qb_ipcs_connection *c)
--
1.7.2.2