PERFORCE change 124845 for review
Fredrik Lindberg
fli at FreeBSD.org
Tue Aug 7 12:24:59 PDT 2007
http://perforce.freebsd.org/chv.cgi?CH=124845
Change 124845 by fli at fli_nexus on 2007/08/07 19:24:15
- Sent an ACK to clients when a oneshot query begins.
- Additional debug printouts
- Always sent a timeout message to client when we
tracking a query on their behalf.
- Minor fixes (wrong return values/argument values).
Affected files ...
.. //depot/projects/soc2007/fli-mdns_sd/mdnsd/clisrv.c#3 edit
Differences ...
==== //depot/projects/soc2007/fli-mdns_sd/mdnsd/clisrv.c#3 (text+ko) ====
@@ -355,6 +355,7 @@
dprintf(DEBUG_CS, "Received packet on UNIX pipe csc=%x, "
"len=%d, suser=%d, sock=%d", csc, n, csc->csc_suser, sock);
+ n += sizeof(struct mipc_head);
error = cp_parse(csc, buf, n, csc->csc_suser);
if (error != 0)
dprintf(DEBUG_CS, "Failed to parse packet csc=%x", csc);
@@ -503,7 +504,9 @@
case MIQ_CMD_ONESHOT:
error = queryadd(csc, &cscq, miq->miq_ifidx, miq->miq_fam,
miq->miq_timeout);
- if (error != 0)
+ if (error == 0)
+ send_ack(csc, mih->mih_id);
+ else
retval = MIE_IVAL;
break;
case MIQ_CMD_CREG:
@@ -524,7 +527,7 @@
return (MIE_IVAL);
}
- return (0);
+ return (retval);
}
/*
@@ -1469,6 +1472,8 @@
iov[1].iov_base = &cpe;
iov[1].iov_len = sizeof(struct mipc_error);
writev(csc->csc_sock, iov, 2);
+ dprintf(DEBUG_CS, "Error sent to client csc=%x, id=%d, code=%d",
+ csc, id, code);
}
/*
@@ -1528,8 +1533,7 @@
query_dereg(cscq->cscq_q, &cscq->cscq_qs, cscq);
TAILQ_REMOVE(&csc->csc_queries, cscq, cscq_next);
- if (cscq->cscq_resp == 0)
- send_error(csc, cscq->cscq_id, MIE_TOUT);
+ send_error(csc, cscq->cscq_id, MIE_TOUT);
obj_free(OBJ_CSCQ, cscq);
MTX_UNLOCK(csc, csc_mtx);
@@ -1566,9 +1570,13 @@
iov[3].iov_base = rs->r_data;
iov[3].iov_len = rs->r_datalen;
- writev(csc->csc_sock, iov, 3);
+ writev(csc->csc_sock, iov, 4);
cscq->cscq_resp++;
MTX_UNLOCK(csc, csc_mtx);
+
+ dprintf(DEBUG_CS, "Response to query cscq=%x sent to client csc=%x "
+ "name=%ls, class=%d, type=%d, ttl=%d", cscq, csc, name,
+ rs->r_class, rs->r_type, rs->r_ttl);
}
static int
More information about the p4-projects
mailing list