All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnon Warshavsky <arnon@qwilt.com>
To: thomas@monjalon.net, anatoly.burakov@intel.com,
	wenzhuo.lu@intel.com, declan.doherty@intel.com,
	jerin.jacob@caviumnetworks.com, bruce.richardson@intel.com,
	ferruh.yigit@intel.com
Cc: dev@dpdk.org, arnon@qwilt.com
Subject: [PATCH v5 08/11] eal: replace rte_panic instances in interrupts thread
Date: Tue, 24 Apr 2018 00:28:59 +0300	[thread overview]
Message-ID: <1524518942-1998-9-git-send-email-arnon@qwilt.com> (raw)
In-Reply-To: <1524518942-1998-1-git-send-email-arnon@qwilt.com>

replace panic calls with log and return value.
Thread function removes the noreturn attribute.

Signed-off-by: Arnon Warshavsky <arnon@qwilt.com>
---
 lib/librte_eal/linuxapp/eal/eal_interrupts.c | 25 ++++++++++++++++++-------
 1 file changed, 18 insertions(+), 7 deletions(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
index 58e9328..77e6f2a 100644
--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c
+++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c
@@ -785,7 +785,7 @@ struct rte_intr_source {
  * @return
  *  never return;
  */
-static __attribute__((noreturn)) void *
+static void *
 eal_intr_thread_main(__rte_unused void *arg)
 {
 	struct epoll_event ev;
@@ -803,8 +803,11 @@ static __attribute__((noreturn)) void *
 
 		/* create epoll fd */
 		int pfd = epoll_create(1);
-		if (pfd < 0)
-			rte_panic("Cannot create epoll instance\n");
+		if (pfd < 0) {
+			RTE_LOG(CRIT, EAL, "%s(): Cannot create epoll instance\n",
+					__func__);
+			return NULL;
+		}
 
 		pipe_event.data.fd = intr_pipe.readfd;
 		/**
@@ -813,8 +816,11 @@ static __attribute__((noreturn)) void *
 		 */
 		if (epoll_ctl(pfd, EPOLL_CTL_ADD, intr_pipe.readfd,
 						&pipe_event) < 0) {
-			rte_panic("Error adding fd to %d epoll_ctl, %s\n",
+			RTE_LOG(CRIT, EAL, "%s(): Error adding fd to %d "
+					"epoll_ctl, %s\n",
+					__func__,
 					intr_pipe.readfd, strerror(errno));
+			return NULL;
 		}
 		numfds++;
 
@@ -831,9 +837,12 @@ static __attribute__((noreturn)) void *
 			 * into wait list.
 			 */
 			if (epoll_ctl(pfd, EPOLL_CTL_ADD,
-					src->intr_handle.fd, &ev) < 0){
-				rte_panic("Error adding fd %d epoll_ctl, %s\n",
-					src->intr_handle.fd, strerror(errno));
+					src->intr_handle.fd, &ev) < 0) {
+				RTE_LOG(CRIT, EAL, "%s(): Error adding fd %d epoll_ctl, %s\n",
+					__func__,
+					src->intr_handle.fd,
+					strerror(errno));
+				return NULL;
 			}
 			else
 				numfds++;
@@ -848,6 +857,8 @@ static __attribute__((noreturn)) void *
 		 */
 		close(pfd);
 	}
+
+	return NULL;
 }
 
 int
-- 
1.8.3.1

  parent reply	other threads:[~2018-04-23 21:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 21:28 [PATCH v5 00/11] eal: replace calls to rte_panic and refrain from new instances Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 01/11] crypto/dpaa: replace rte_panic instances in crypto/dpaa driver Arnon Warshavsky
2018-04-24  6:43   ` Akhil Goyal
2018-04-23 21:28 ` [PATCH v5 02/11] bond: replace rte_panic instances in bonding driver Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 03/11] e1000: replace rte_panic instances in e1000 driver Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 04/11] ixgbe: replace rte_panic instances in ixgbe driver Arnon Warshavsky
2018-04-23 23:57   ` Stephen Hemminger
2018-04-24  3:07     ` Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 05/11] eal: replace rte_panic instances in eventdev Arnon Warshavsky
2018-04-26 16:06   ` Kevin Traynor
2018-04-26 21:41     ` Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 06/11] kni: replace rte_panic instances in kni Arnon Warshavsky
2018-04-23 21:28 ` [PATCH v5 07/11] eal: replace rte_panic instances in hugepage_info Arnon Warshavsky
2018-04-23 21:28 ` Arnon Warshavsky [this message]
2018-04-23 21:29 ` [PATCH v5 09/11] eal: replace rte_panic instances in ethdev Arnon Warshavsky
2018-04-23 21:29 ` [PATCH v5 10/11] eal: replace rte_panic instances in init sequence Arnon Warshavsky
2018-04-23 21:29 ` [PATCH v5 11/11] devtools: prevent new instances of rte_panic and rte_exit Arnon Warshavsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1524518942-1998-9-git-send-email-arnon@qwilt.com \
    --to=arnon@qwilt.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jerin.jacob@caviumnetworks.com \
    --cc=thomas@monjalon.net \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.