]> git.lizzy.rs Git - dragonblocks_alpha.git/blobdiff - src/client/client_auth.c
Client: unify error handling
[dragonblocks_alpha.git] / src / client / client_auth.c
index 0d16cea66746f64f8325ce4b76fa4ed04ed8e666..afa3ebde092363335bfc91a29aa5febad2efab58 100644 (file)
@@ -1,5 +1,6 @@
 #include <stddef.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <linenoise/linenoise.h>
 #include "client.h"
 #include "client_auth.h"
@@ -37,7 +38,7 @@ static void auth_loop()
        }
 }
 
-bool client_auth_init()
+void client_auth_init()
 {
        client_auth.name = NULL;
        pthread_cond_init(&client_auth.cv, NULL);
@@ -50,10 +51,13 @@ bool client_auth_init()
        auth_loop();
 
        flag_uns(&interrupt, &client_auth.cv);
-       bool success = client_auth.state == AUTH_SUCCESS;
-       pthread_mutex_unlock(&client_auth.mtx);
 
-       return success;
+       if (client_auth.state != AUTH_SUCCESS) {
+               fprintf(stderr, "[error] authentication failed due to interruption or read failure\n");
+               abort();
+       }
+
+       pthread_mutex_unlock(&client_auth.mtx);
 }
 
 void client_auth_deinit()