I discovered an issue with thread implementation, that is strange to me. Maybe some of you can explain it to me, would be great.
I am working on something like a pro
EINTR
does not itself indicate an error. It means that your process received a signal while it was in the sendto
syscall, and that syscall hadn't sent any data yet (that's important).
You could retry the send in this case, but a good thing would be to figure out what signal caused the interruption. If this is reproducible, try using strace
.
If you're the one sending the signal, well, you know what to do :-)
Note that on linux, you can receive EINTR
on sendto
(and some other functions) even if you haven't installed a handler yourself. This can happen if:
See the signal(7) man page (at the very bottom) for more details.
So if you're "suspending" your service (or something else is), that EINTR
is expected and you should restart the call.