From owner-p4-projects@FreeBSD.ORG Tue Aug 7 19:24:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 31A0A16A46B; Tue, 7 Aug 2007 19:24:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB7A816A417 for ; Tue, 7 Aug 2007 19:24:58 +0000 (UTC) (envelope-from fli@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D4F5913C4D3 for ; Tue, 7 Aug 2007 19:24:58 +0000 (UTC) (envelope-from fli@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l77JOwv6010953 for ; Tue, 7 Aug 2007 19:24:58 GMT (envelope-from fli@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l77JOwYp010949 for perforce@freebsd.org; Tue, 7 Aug 2007 19:24:58 GMT (envelope-from fli@FreeBSD.org) Date: Tue, 7 Aug 2007 19:24:58 GMT Message-Id: <200708071924.l77JOwYp010949@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to fli@FreeBSD.org using -f From: Fredrik Lindberg To: Perforce Change Reviews Cc: Subject: PERFORCE change 124845 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Aug 2007 19:24:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=124845 Change 124845 by fli@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