On 04/19/2018 07:01 AM, Arnon Warshavsky wrote:
> replace panic calls with log and retrun value.
> Thread function removes the noretrun attribute.
> 
> Signed-off-by: Arnon Warshavsky <ar...@qwilt.com>
> ---
>  lib/librte_eal/linuxapp/eal/eal_interrupts.c | 27 ++++++++++++++++++++-------
>  1 file changed, 20 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..8b8650a 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,14 @@ 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) {

The alignment changed here, not sure if it was deliberate

> +                             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 +859,8 @@ static __attribute__((noreturn)) void *
>                */
>               close(pfd);
>       }
> +
> +     return NULL;
>  }
>  
>  int
> 

Reply via email to