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 | |
| 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>
| -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()); | 
