diff options
Diffstat (limited to 'server/thumb-server-internal.c')
-rwxr-xr-x | server/thumb-server-internal.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/server/thumb-server-internal.c b/server/thumb-server-internal.c index 294dc80..bb6e7ef 100755 --- a/server/thumb-server-internal.c +++ b/server/thumb-server-internal.c @@ -242,7 +242,7 @@ ERROR: return G_SOURCE_REMOVE; } -gboolean _thumb_server_read_socket(GIOChannel *src, GIOCondition condition, gpointer data) +gboolean _thumb_server_read_socket(GIOChannel *channel, GIOCondition condition, gpointer data) { struct sockaddr_un client_addr; unsigned int client_addr_len; @@ -263,7 +263,7 @@ gboolean _thumb_server_read_socket(GIOChannel *src, GIOCondition condition, gpoi memset((void *)&res_msg, 0, sizeof(res_msg)); memset((void *)&credentials, 0, sizeof(credentials)); - sock = g_io_channel_unix_get_fd(src); + sock = g_io_channel_unix_get_fd(channel); thumb_retvm_if(sock < 0, G_SOURCE_CONTINUE, "sock fd is invalid!"); client_addr_len = sizeof(client_addr); @@ -287,7 +287,9 @@ gboolean _thumb_server_read_socket(GIOChannel *src, GIOCondition condition, gpoi } else { thumb_warn("Shutting down..."); g_main_loop_quit(thumb_server); - goto ERROR; + close(client_sock); + + return G_SOURCE_REMOVE; } SAFE_FREE(credentials.smack); |