diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/altservers.c | 10 | ||||
-rw-r--r-- | src/server/uplink.c | 8 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/server/altservers.c b/src/server/altservers.c index 1410615..a5a4b7c 100644 --- a/src/server/altservers.c +++ b/src/server/altservers.c @@ -335,11 +335,13 @@ static void *altservers_main(void *data) ret = read( readPipe, buffer, sizeof buffer ); } while ( ret == sizeof buffer ); // Throw data away, this is just used for waking this thread up if ( ret == 0 ) { - memlogf( "[WARNING] Signal pipe of uplink_connector for %s closed! Things will break!" ); + memlogf( "[WARNING] Signal pipe of alservers_main closed! Things will break!" ); } - ret = errno; - if ( ret != EAGAIN && ret != EWOULDBLOCK && ret != EBUSY && ret != EINTR ) { - memlogf( "[WARNING] Errno %d on pipe-read on uplink_connector for %s! Things will break!", ret ); + if ( ret < 0 ) { + ret = errno; + if ( ret != EAGAIN && ret != EWOULDBLOCK && ret != EBUSY && ret != EINTR ) { + memlogf( "[WARNING] Errno %d on pipe-read on alservers_main! Things will break!", ret ); + } } // Work your way through the queue spin_lock( &pendingLock ); diff --git a/src/server/uplink.c b/src/server/uplink.c index e4bf51f..e452557 100644 --- a/src/server/uplink.c +++ b/src/server/uplink.c @@ -287,9 +287,11 @@ static void* uplink_mainloop(void *data) if ( ret == 0 ) { memlogf( "[WARNING] Eventfd of uplink for %s closed! Things will break!", link->image->lower_name ); } - ret = errno; - if ( ret != EAGAIN && ret != EWOULDBLOCK && ret != EBUSY && ret != EINTR ) { - memlogf( "[WARNING] Errno %d on eventfd on uplink for %s! Things will break!", ret, link->image->lower_name ); + if ( ret < 0 ) { + ret = errno; + if ( ret != EAGAIN && ret != EWOULDBLOCK && ret != EBUSY && ret != EINTR ) { + memlogf( "[WARNING] Errno %d on eventfd on uplink for %s! Things will break!", ret, link->image->lower_name ); + } } if ( link->fd != -1 ) { uplink_send_requests( link, TRUE ); |