diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2017-02-03 17:07:32 +0100 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2017-03-11 15:41:42 +0100 |
commit | 767e24572db2bbc4b9837c32ffc0bab4e1ad0b81 (patch) | |
tree | cc2f361240799bb0b25f9fef83c8a24791b443ea /include/device_proto.h | |
parent | 69fedd655a87c32c0c54eac46a1d6df7450873d6 (diff) | |
download | libnitrokey-767e24572db2bbc4b9837c32ffc0bab4e1ad0b81.tar.gz libnitrokey-767e24572db2bbc4b9837c32ffc0bab4e1ad0b81.tar.bz2 |
Disconnect device as soon as the communication issue appears
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
Diffstat (limited to 'include/device_proto.h')
-rw-r--r-- | include/device_proto.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/device_proto.h b/include/device_proto.h index 9401428..1e07277 100644 --- a/include/device_proto.h +++ b/include/device_proto.h @@ -243,10 +243,13 @@ namespace nitrokey { int sending_retry_counter = dev->get_retry_sending_count(); while (sending_retry_counter-- > 0) { status = dev->send(&outp); - if (status <= 0) + if (status <= 0){ + Log::instance()("Encountered communication error, disconnecting device", Loglevel::DEBUG_L2); + dev->disconnect(); throw DeviceSendingFailure( std::string("Device error while sending command ") + std::to_string(status)); + } std::this_thread::sleep_for(dev->get_send_receive_delay()); |