There are two things happening at the same time:
- ReaderStatusThread looks for smart cards by running SCD SERIALNO --all. This fails with "Service not active".
- DeviceInfoWatcher starts SCD DEVINFO --watch and then polls for results. Polling results in "finished with success". If this happens then DeviceInfoWatcher starts another SCD DEVINFO --watch. This is done because SCD DEVINFO --watch finishes with success when the last smartcard is removed. I have no idea why it exists immediately with success. Could this be related the "service not active" message? If yes, then I guess SCD DEVINFO --watch should probably also fail with "service not active" instead of starting without error and then finishing with success.