loudmouth/lm-socket.c
changeset 282 0bd1892a18d3
parent 280 f1bfa3d3ad1c
child 291 cebf76f7f0e9
--- a/loudmouth/lm-socket.c	Tue Sep 25 11:08:29 2007 +0200
+++ b/loudmouth/lm-socket.c	Tue Oct 02 14:11:04 2007 +0200
@@ -792,8 +792,9 @@
 		return;
 
 	if (socket->asyncns_ctx) {
-		g_assert (socket->resolv_query != NULL);
-		asyncns_cancel (socket->asyncns_ctx, socket->resolv_query);
+		if (socket->resolv_query)
+			asyncns_cancel (socket->asyncns_ctx, socket->resolv_query);
+
 		_asyncns_done (socket);
 	}
 }
@@ -847,11 +848,13 @@
 	switch ((guint) asyncns_getuserdata (socket->asyncns_ctx, socket->resolv_query)) {
 	case PHASE_1:
 		err = asyncns_res_done (socket->asyncns_ctx, socket->resolv_query, &srv_ans);
+		socket->resolv_query = NULL;
 		_lm_socket_create_phase1 (socket, (err) ? NULL : srv_ans, err);
 		return TRUE;
 		break;
 	case PHASE_2:
 		err = asyncns_getaddrinfo_done (socket->asyncns_ctx, socket->resolv_query, &ans);
+		socket->resolv_query = NULL;
 		_lm_socket_create_phase2 (socket, (err) ? NULL : ans);
 		_asyncns_done (socket);
 		return FALSE;