With the current implementation, only one of the sessions would be marked as 'unreachable' in the sessionstore on a startup issue or decode error, no matter how many sessions that actually are unreachable.
We should fix so that all sessions that are unreachable show as such.
As a clarification, this behaviour is seen when ThinLinc runs 'ss' to check the status of its sessions.
This is noticed by only marking one of the unreachable sessions as unreachable, and the wanted behaviour is that all unreachable sessions should be marked as such.
Tested with build 1997 and it seems to be working. The periodic log updates now marks the status as unreachable for all those sessions at once.
Tips for tester:
* You can break ss by replacing it with your own script
* Set session_update_delay in vsmserver.hconf to shorten the waiting time between each update
I verified the problem using build 1995 on Fedora 33 by replacing the ss binary.
This bug only concerns the periodic updates. If viewing the sessions from the Web Admin interface all sessions was marked as unreachable even prior to the fix. That is because in this case the sessions are checked individually.
I did see however that the vsmserver.log only posted one log line for one of the unreachable sessions, not all when doing it's periodic check on the 10 minute interval.
Upgrading to build 2002 shows that the problem is fixed. The code change also looks good.