From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id E98AEF966 for ; Thu, 9 Feb 2017 15:30:09 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5F629C05AA41; Thu, 9 Feb 2017 14:30:10 +0000 (UTC) Received: from dhcp-25-97.bos.redhat.com (unknown [10.10.123.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5D9E86E909; Thu, 9 Feb 2017 14:30:09 +0000 (UTC) From: Aaron Conole To: dev@dpdk.org Cc: Stephen Hemminger , Bruce Richardson Date: Thu, 9 Feb 2017 09:29:38 -0500 Message-Id: <20170209142953.8167-11-aconole@redhat.com> In-Reply-To: <20170209142953.8167-1-aconole@redhat.com> References: <20170208185142.28678-1-aconole@redhat.com> <20170209142953.8167-1-aconole@redhat.com> X-Scanned-By: MIMEDefang 2.74 on 10.5.11.28 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Thu, 09 Feb 2017 14:30:10 +0000 (UTC) Subject: [dpdk-dev] [PATCH v3 10/25] eal: Do not panic on log failures X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Feb 2017 14:30:10 -0000 When log initialization fails, it's generally because the fopencookie failed. While this is rare in practice, it could happen, and it is likely because of memory pressure. So, flag the error, and allow the user to retry. Signed-off-by: Aaron Conole --- lib/librte_eal/linuxapp/eal/eal.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c index e0dff6e..9bb00d5 100644 --- a/lib/librte_eal/linuxapp/eal/eal.c +++ b/lib/librte_eal/linuxapp/eal/eal.c @@ -818,8 +818,13 @@ rte_eal_init(int argc, char **argv) rte_config_init(); - if (rte_eal_log_init(logid, internal_config.syslog_facility) < 0) - rte_panic("Cannot init logs\n"); + if (rte_eal_log_init(logid, internal_config.syslog_facility) < 0) { + RTE_LOG(ERR, EAL, "Cannot init logging\n"); + fprintf(stderr, "EAL: ERROR - cannot init logging.\n"); + rte_errno = EIO; + rte_atomic32_clear(&run_once); + return -1; + } if (rte_eal_pci_init() < 0) rte_panic("Cannot init PCI\n"); -- 2.9.3