but I'm not sure what you're trying to show me.
It shows the select loop being exited. As I said, the OP did not want to exit the select loop.
I think the bigger question is when it wakes it up do you explicitly need to ignore the alarm inside the select loop?
If you don't, the select loop is exited, so you're asking why there is a need to not exit the select loop.
I don't believe there is such a universal need. Like I said, the OP has such a need, but apparently you don't.
That said, I suspect you didn't actually show your entire select loop, and that you actually ignore *all* errors. If so, you would also be ignoring EINTR just like I told the OP to do.