Ignored signals & blocking system calls

If I explicity ignore a signal (for example, SIGALRM), and this signal is generated during a blocking system call (for example, a recvfrom() ), what happens to the system call?
Does it abort, or does it remain blocked until its end?

Read man kill and man signals, some signals can be caught, ignored and others not.

If you get a signal when blocked, your process services it and then the blocked call errors out, errno=EINTR, which means try again immediately.

1 Like

Thank you for the reply!

But if so, then I've another question: does it make sense to block a signal, if the arrival of this signal aborts the system call anyway?