rtpmidid
rtpmidid copied to clipboard
can crash when ::sendto returns -1 (by an exception not caught)
If a network interface goes away, e.g. when a VPN is switched off, and rtpmidid was just about to send something through it, it can crash:
terminate called after throwing an instance of 'rtpmidid::exception'
what(): Could not send all data to metronoom:15115. Sent -1. Network is unreachable
Aborted
That's because lib/rtpserver.cpp and lib/rtpclient.cpp have a sendto method that throws an exception if the ::sendto function called in it returns -1.
For EINTR, see https://github.com/davidmoreno/rtpmidid/pull/68