static void control_socket_accept(gpointer user_data) { gint conn_socket; GSockAddr *peer_addr; GIOStatus status; if (control_socket == -1) return; status = g_accept(control_socket, &conn_socket, &peer_addr); if (status != G_IO_STATUS_NORMAL) { msg_error("Error accepting control socket connection", evt_tag_errno("error", errno), NULL); goto error; } /* NOTE: the connection will free itself if the peer terminates */ control_connection_new(conn_socket); g_sockaddr_unref(peer_addr); error: ; }
static void control_socket_accept(void *cookie) { ControlServerUnix *self = (ControlServerUnix *)cookie; gint conn_socket; GSockAddr *peer_addr; GIOStatus status; if (self->control_socket == -1) return; status = g_accept(self->control_socket, &conn_socket, &peer_addr); if (status != G_IO_STATUS_NORMAL) { msg_error("Error accepting control socket connection", evt_tag_errno("error", errno)); goto error; } /* NOTE: the connection will free itself if the peer terminates */ control_connection_new(&self->super, conn_socket); g_sockaddr_unref(peer_addr); error: ; }