diff --git a/src/server.c b/src/server.c index ff848aa..413d9b9 100644 --- a/src/server.c +++ b/src/server.c @@ -475,8 +475,7 @@ main(int argc, char **argv) { if (!LIST_EMPTY(&server->clients)) { struct tty_client *client; LIST_FOREACH(client, &server->clients, list) { - if (client->running) { - pthread_mutex_lock(&client->mutex); + if (client->running && pthread_mutex_trylock(&client->mutex)) { if (client->state != STATE_DONE) lws_callback_on_writable(client->wsi); else