summaryrefslogtreecommitdiff
path: root/server/thumb-server-internal.c
diff options
context:
space:
mode:
Diffstat (limited to 'server/thumb-server-internal.c')
-rwxr-xr-xserver/thumb-server-internal.c8
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);