changeset 18493:092a51d80bad

lib: connection: Connect to unix socket asynchronously if connected callback is set. Prevents problems in lib-http unix socket support.
author Stephan Bosch <stephan@rename-it.nl>
date Sat, 25 Apr 2015 11:42:06 +0200
parents 1081d57b524e
children 63224afb8c02
files src/lib/connection.c
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/connection.c	Wed Apr 29 10:34:33 2015 +0200
+++ b/src/lib/connection.c	Sat Apr 25 11:42:06 2015 +0200
@@ -236,7 +236,7 @@
 		list->v.client_connected(conn, TRUE);
 }
 
-static void connection_ip_connected(struct connection *conn)
+static void connection_socket_connected(struct connection *conn)
 {
 	io_remove(&conn->io);
 	if (conn->to != NULL)
@@ -262,9 +262,9 @@
 		return -1;
 	conn->fd_in = conn->fd_out = fd;
 
-	if (conn->port != 0) {
+	if (conn->port != 0 || conn->list->v.client_connected != NULL) {
 		conn->io = io_add(conn->fd_out, IO_WRITE,
-				  connection_ip_connected, conn);
+				  connection_socket_connected, conn);
 		if (set->client_connect_timeout_msecs != 0) {
 			conn->to = timeout_add(set->client_connect_timeout_msecs,
 					       connection_connect_timeout, conn);