Thanks for the patch work with rte_eal_alaram. But I am not able to find 

1. the documentation update.
2. cover letter.
3. for signal SIGINT, set for ` rte_eal_alarm_cancel`. 

Can you share a new patch as v5 with these changes?

Thanks
Vipin Varghese

> -----Original Message-----
> From: Suanming.Mou <mousuanm...@huawei.com>
> Sent: Tuesday, April 30, 2019 9:09 AM
> To: dev@dpdk.org
> Cc: Varghese, Vipin <vipin.vargh...@intel.com>; Burakov, Anatoly
> <anatoly.bura...@intel.com>
> Subject: [PATCH v4] app/pdump: add pudmp exits with primary support.
> 
> When primary app exits, the residual running pdump will stop the primary app 
> to
> restart. Add pdump exits with primary support.
> 
> Suggested-by: Varghese, Vipin <vipin.vargh...@intel.com>
> Suggested-by: Burakov, Anatoly <anatoly.bura...@intel.com>
> Signed-off-by: Suanming.Mou <mousuanm...@huawei.com>
> ---
>  app/pdump/main.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/app/pdump/main.c b/app/pdump/main.c index 3d20854..c3413da
> 100644
> --- a/app/pdump/main.c
> +++ b/app/pdump/main.c
> @@ -26,6 +26,7 @@
>  #include <rte_ring.h>
>  #include <rte_string_fns.h>
>  #include <rte_pdump.h>
> +#include <rte_alarm.h>
> 
>  #define CMD_LINE_OPT_PDUMP "pdump"
>  #define CMD_LINE_OPT_PDUMP_NUM 256
> @@ -65,6 +66,7 @@
>  #define SIZE 256
>  #define BURST_SIZE 32
>  #define NUM_VDEVS 2
> +#define MONITOR_INTERVAL (500 * 1000)
> 
>  /* true if x is a power of 2 */
>  #define POWEROF2(x) ((((x)-1) & (x)) == 0) @@ -864,12 +866,26 @@ struct
> parse_val {
>       return 0;
>  }
> 
> +static void monitor_primary(void *arg __rte_unused) {
> +     if (quit_signal)
> +             return;
> +
> +     if (rte_eal_primary_proc_alive(NULL))
> +             rte_eal_alarm_set(MONITOR_INTERVAL, monitor_primary,
> NULL);
> +     else
> +             quit_signal = 1;
> +}
> +
>  static inline void
>  dump_packets(void)
>  {
>       int i;
>       uint32_t lcore_id = 0;
> 
> +     /* Once primary exits, so will pdump. */
> +     rte_eal_alarm_set(MONITOR_INTERVAL, monitor_primary, NULL);
> +
>       if (!multiple_core_capture) {
>               printf(" core (%u), capture for (%d) tuples\n",
>                               rte_lcore_id(), num_tuples);
> --
> 1.8.3.4

Reply via email to