aboutsummaryrefslogtreecommitdiff
path: root/client/libacron/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/libacron/net.c')
-rw-r--r--client/libacron/net.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/client/libacron/net.c b/client/libacron/net.c
index 1af752c..b393475 100644
--- a/client/libacron/net.c
+++ b/client/libacron/net.c
@@ -175,11 +175,16 @@ int ac_connect(ac_connection_parameters_t parameters, void **out) {
return AC_E_OK;
}
-int ac_disconnect(void *connection) {
+int ac_disconnect(void *connection,
+ bool force) {
AC_CHECK_INIT;
struct ac_connection *conn = connection;
LOGD("Disconnecting...");
- wic_close(&conn->inst);
+ if (force) {
+ wic_close_with_reason(&conn->inst, WIC_CLOSE_ABNORMAL_1, NULL, 0U);
+ } else {
+ wic_close_with_reason(&conn->inst, WIC_CLOSE_NORMAL, NULL, 0U);
+ }
conn_free(conn);
return AC_E_OK;
}