by Anonymous » 13 Apr 2025, 07:22
Ich versuche, einen Accept () Anruf zu beenden, nachdem ein Timeout mit einem Alarm () Signal auftritt. Das Signal registriert ausgenommen, unterbrochen jedoch den Prozess der Blockierung Accept () nicht. Wie kann ich den Signal die Schleife durchbrechen lassen oder den Blockierungsvorgang unterbrechen? < /P>
Code: Select all
volatile sig_atomic_t time_out_flag = false;
void handleSig(int sig)
{
std::cout
Ich versuche, einen Accept () Anruf zu beenden, nachdem ein Timeout mit einem Alarm () Signal auftritt. Das Signal registriert ausgenommen, unterbrochen jedoch den Prozess der Blockierung Accept () nicht. Wie kann ich den Signal die Schleife durchbrechen lassen oder den Blockierungsvorgang unterbrechen? < /P>
[code]volatile sig_atomic_t time_out_flag = false;
void handleSig(int sig)
{
std::cout