All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Zhihong Wang <zhihong.wang@intel.com>
Cc: dev@dpdk.org
Subject: Re: [PATCH 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in l3fwd
Date: Thu, 24 Dec 2015 09:51:34 -0800	[thread overview]
Message-ID: <20151224095134.6eea3d4b@xeon-e3> (raw)
In-Reply-To: <1450900995-84185-4-git-send-email-zhihong.wang@intel.com>

On Wed, 23 Dec 2015 15:03:15 -0500
Zhihong Wang <zhihong.wang@intel.com> wrote:

> +/* When we receive a INT signal, close all ports */
> +static void
> +sigint_handler(__rte_unused int signum)
> +{
> +	unsigned portid, nb_ports;
> +
> +	printf("Preparing to exit...\n");
> +	nb_ports = rte_eth_dev_count();
> +	for (portid = 0; portid < nb_ports; portid++) {
> +		if ((enabled_port_mask & (1 << portid)) == 0) {
> +			continue;
> +		}
> +		printf("Stopping port %d...", portid);
> +		rte_eth_dev_stop(portid);
> +		rte_eth_dev_close(portid);
> +		printf(" Done\n");
> +	}
> +	printf("Bye...\n");
> +	exit(0);
> +}

Signal handlers should only set a flag, which is then checked by thread loops.
Calling functions in DPDK from signal handlers is not safe.

  parent reply	other threads:[~2015-12-24 17:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-23 20:03 [PATCH 0/3] Handle SIGINT and SIGTERM in DPDK examples Zhihong Wang
2015-12-23 20:03 ` [PATCH 1/3] app/test-pmd: Handle SIGINT and SIGTERM in testpmd Zhihong Wang
2015-12-24  8:09   ` Qiu, Michael
2015-12-24 10:18     ` Wang, Zhihong
2015-12-23 20:03 ` [PATCH 2/3] examples/l2fwd: Handle SIGINT and SIGTERM in l2fwd Zhihong Wang
2015-12-24  8:12   ` Qiu, Michael
2015-12-23 20:03 ` [PATCH 3/3] examples/l3fwd: Handle SIGINT and SIGTERM in l3fwd Zhihong Wang
2015-12-24 11:13   ` Ananyev, Konstantin
2015-12-25  9:17     ` Wang, Zhihong
2015-12-24 17:51   ` Stephen Hemminger [this message]
2015-12-25  9:23     ` Wang, Zhihong

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=20151224095134.6eea3d4b@xeon-e3 \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=zhihong.wang@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.