On Wed, 17 Sep 2025 23:47:03 -0700
Khadem Ullah <[email protected]> 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.