<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Dear Stephen,</p>
<p>Thank you very much for your answer. Please see my answers
inline.<br>
</p>
<blockquote type="cite"
cite="mid:20230915143305.0ac313c6@hermes.local">
<pre class="moz-quote-pre" wrap="">Not sure what the tx and rx polling loops look like in your application.</pre>
</blockquote>
<p>In short: they surely finish.</p>
<p>In more details: <br>
- The receivers finish due to timeout. In my case the receiving
threads finished OK. (Their CPU cores became idle.)<br>
- The sender threads check if sending happened within timeout time
only AFTER all test frames were sent, that is, the sending loop
finished. (It is done so to spare 1 branch instruction in the
innermost sending loop.) So the sending loop is already finished
when the rte_exit() is called. <b>My problem is that calling the
rte_exit() function does not terminate the application.</b> </p>
<blockquote type="cite"
cite="mid:20230915143305.0ac313c6@hermes.local">
<pre class="moz-quote-pre" wrap="">But they need to have some way of forcing exit, and you need to set that
flag before calling rte_exit().
See l2fwd and force_quit flag for an example.</pre>
</blockquote>
<p>I have looked into its source code. I understand that it sets the
"force_quit" flag when it receives a SIGINT or SIGTERM signal, and
the nonzero value of the "force_quit" flag causes to finish the
while cycle of the "l2fwd_main_loop(void)".</p>
<p>However, l2fwd also uses the "rte_exit()" function to terminate
the program. The only difference is that it calls the "rte_exit()"
function from the main program, and I do so in a thread started by
the "rte_eal_remote_launch()" function. <br>
</p>
<p>Is there any constraint for usage the "rte_eal_remote_launch()"
function? (E.g., it may be called only from the main thread? I did
not see anything like that int the documentation.)</p>
<p>Best regards,</p>
<p>Gábor
</p>
<blockquote type="cite"
cite="mid:20230915143305.0ac313c6@hermes.local"> </blockquote>
</body>
</html>