From mboxrd@z Thu Jan 1 00:00:00 1970 From: Erik Faye-Lund Subject: [PATCH v4 09/15] daemon: use full buffered mode for stderr Date: Mon, 11 Oct 2010 23:50:23 +0200 Message-ID: <1286833829-5116-10-git-send-email-kusmabite@gmail.com> References: <1286833829-5116-1-git-send-email-kusmabite@gmail.com> Cc: msysgit@googlegroups.com, j6t@kdbg.org, avarab@gmail.com, sunshine@sunshineco.com To: git@vger.kernel.org X-From: git-owner@vger.kernel.org Mon Oct 11 23:52:29 2010 Return-path: Envelope-to: gcvg-git-2@lo.gmane.org Received: from vger.kernel.org ([209.132.180.67]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P5QIH-0006VN-9Y for gcvg-git-2@lo.gmane.org; Mon, 11 Oct 2010 23:52:29 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756620Ab0JKVwY (ORCPT ); Mon, 11 Oct 2010 17:52:24 -0400 Received: from mail-ew0-f46.google.com ([209.85.215.46]:36668 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756134Ab0JKVwX (ORCPT ); Mon, 11 Oct 2010 17:52:23 -0400 Received: by mail-ew0-f46.google.com with SMTP id 20so833577ewy.19 for ; Mon, 11 Oct 2010 14:52:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer:in-reply-to:references; bh=A/hKAmj5yYoMHmGeedpOYN/AJXSbej5y9UdaOYQgq74=; b=GwZWvH/My2x9rTqKz0JaVmGwByqfu/TE+Qf/znUT2b9QsXuM2J96EOlVrBpQvdk4I3 HJAy6jUE28G/mxiZ33gsjNBItjNzpC2p+eliFWTVSoJGGFGWdYWuRoZ6KG45x2uTRnSg l0wMRtP+ovwAJFKRfXzFs9ukIVCdPsmYDjdcs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; b=tMeAC4QzUbThSS4vrH/OvnBCuV2shbpBnmyeoIEMothp2qDku4kYSV1Ty1wQzR+rC1 H8R+5/ApNFaFR2mUrSv31LLuC0gIV417WXCfhs5mlE5WnOxjCRXCYrt67dE7P3rvRval jxwfZVEYCtjT6UF+G7TfVut8zhnTKI1TUT7/c= Received: by 10.14.127.208 with SMTP id d56mr3638976eei.16.1286833943100; Mon, 11 Oct 2010 14:52:23 -0700 (PDT) Received: from localhost (cm-84.215.188.225.getinternet.no [84.215.188.225]) by mx.google.com with ESMTPS id p53sm4226702eeh.19.2010.10.11.14.52.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 11 Oct 2010 14:52:22 -0700 (PDT) X-Mailer: git-send-email 1.7.3.165.gdfe39.dirty In-Reply-To: <1286833829-5116-1-git-send-email-kusmabite@gmail.com> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: Windows doesn't support line buffered mode for file streams, so let's just use full buffered mode with a big buffer ("4096 should be enough for everyone") and add explicit flushing. Signed-off-by: Erik Faye-Lund --- daemon.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/daemon.c b/daemon.c index c0da052..8a44fb9 100644 --- a/daemon.c +++ b/daemon.c @@ -67,12 +67,14 @@ static void logreport(int priority, const char *err, va_list params) syslog(priority, "%s", buf); } else { /* - * Since stderr is set to linebuffered mode, the + * Since stderr is set to buffered mode, the * logging of different processes will not overlap + * unless they overflow the (rather big) buffers. */ fprintf(stderr, "[%"PRIuMAX"] ", (uintmax_t)getpid()); vfprintf(stderr, err, params); fputc('\n', stderr); + fflush(stderr); } } @@ -1118,7 +1120,7 @@ int main(int argc, char **argv) set_die_routine(daemon_die); } else /* avoid splitting a message in the middle */ - setvbuf(stderr, NULL, _IOLBF, 0); + setvbuf(stderr, NULL, _IOFBF, 4096); if (inetd_mode && (group_name || user_name)) die("--user and --group are incompatible with --inetd"); -- 1.7.3.1.199.g72340