X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=signalhandler.cpp;h=8c9244b3c269aa32992db7bce55af01e51f9229c;hp=f136a5234281038a4e4daec3fd61658193966f73;hb=ab4e1fcb5fc453c811d25038f872f3326f8f846e;hpb=708605aa2c4ac7bbdaa3b2b539911f0d5ede1baf diff --git a/signalhandler.cpp b/signalhandler.cpp index f136a523..8c9244b3 100644 --- a/signalhandler.cpp +++ b/signalhandler.cpp @@ -20,10 +20,13 @@ #include "signalhandler.h" +#include #include +#include #include #include +#include #include int SignalHandler::_sockets[2]; @@ -63,7 +66,11 @@ void SignalHandler::on_socket_notifier_activated() _socket_notifier->setEnabled(false); int sig_number; - read(_sockets[1], &sig_number, sizeof(int)); + if(read(_sockets[1], &sig_number, sizeof(int)) != + sizeof(int)) { + qDebug() << "Failed to catch signal"; + abort(); + } switch(sig_number) { @@ -80,5 +87,9 @@ void SignalHandler::on_socket_notifier_activated() void SignalHandler::handle_signals(int sig_number) { - write(_sockets[0], &sig_number, sizeof(int)); + if(write(_sockets[0], &sig_number, sizeof(int)) != + sizeof(int)) { + // Failed to handle signal + abort(); + } }