On Wed, 17 Sep 2025 23:47:03 -0700
Khadem Ullah <14pwcse1...@uetpeshawar.edu.pk> wrote:

> @@ -3628,6 +3709,7 @@ pmd_test_exit(void)
>               }
>       }
>  #endif
> +
>       if (ports != NULL) {
>               no_link_check = 1;
>               RTE_ETH_FOREACH_DEV(pt_id) {

I will drop that extra newline... Sorry

> +
> +static int
> +handle_testpmd_request(const struct rte_mp_msg *request, const void *peer)
> +{
> +     const struct testpmd_mp_req *req = (const struct testpmd_mp_req 
> *)request->param;
> +
> +     if (req->t == TESTPMD_REQ_TYPE_EXIT) {
> +             printf("\nReceived notification of primary exiting\n");
> +             fflush(stdout);
> +
> +             /* Response is sent after forwarding loop exits */
> +             rte_atomic_store_explicit(&primary_name, peer, 
> rte_memory_order_relaxed);
> +
> +             kill(getpid(), SIGINT);

Needed to use kill() here to force end of read when testpmd is in interactive 
mode.
Only other option would be closing stdin, but that seemed less safe.

Reply via email to