From 39c41eaab984fa849bf93f4cec1af5a9c2f1be67 Mon Sep 17 00:00:00 2001 From: Thomas Geymayer Date: Sat, 7 Dec 2013 13:48:04 +0100 Subject: [PATCH] FGLinuxEventInput: check return value of write. --- src/Input/FGLinuxEventInput.cxx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Input/FGLinuxEventInput.cxx b/src/Input/FGLinuxEventInput.cxx index 0d36a5749..39702cfc7 100644 --- a/src/Input/FGLinuxEventInput.cxx +++ b/src/Input/FGLinuxEventInput.cxx @@ -414,9 +414,18 @@ void FGLinuxInputDevice::Send( const char * eventName, double value ) evt.value = (long)value; evt.time.tv_sec = 0; evt.time.tv_usec = 0; - write( fd, &evt, sizeof(evt) ); - SG_LOG( SG_INPUT, SG_DEBUG, "Written event " << eventName - << " as type=" << evt.type << ", code=" << evt.code << " value=" << evt.value ); + size_t bytes_written = write(fd, &evt, sizeof(evt)); + + if( bytes_written == sizeof(evt) ) + SG_LOG( SG_INPUT, + SG_DEBUG, + "Written event " << eventName << " as type=" << evt.type + << ", code=" << evt.code + << " value=" << evt.value ); + else + SG_LOG( SG_INPUT, + SG_WARN, + "Failed to write event: written = " << bytes_written ); } static char ugly_buffer[128]; -- 2.39.5