Closed porst17 closed 6 years ago
DONE: all configuration-depending commands will place a global execution lock!
Moreover due to further work on hilbert-station
(recursive self-call) one will also be able to switch-off the locking.
Where are the locks stored? On the station or on the server? What does global mean in this context?
For hilbert-station
, you mean that the recursive call will not lock anything, right?
it is about running hilbert-station
on some station. To prevent parallel execution it creates a lockfile on the system. It may be located in one of the following places:
/var/run/hilbert /var/run/lock/lockdev /run/lock/lockdev /var/run/lock /run/lock /var/run /run /tmp/,
depending on which one exists and write-able.
So I assume that hilbert-station
return a non-zero exit status if it detects another lock. What does hilbert
on the server do in such a case? Just report the error to the caller?
AFAIR hilbert
on the server-side just gets the error exit code and returns an error in that case (possibly with a special exit code)
Is it possible that the lock stays unreleased in case of a crash of hilbert-station
? Is there a well-defined way to clean it up (i.e. for hilbert
on the server and therefore also for hilbert-ui
)?
I just noticed that @malex984 didn't answer my question.
What happens if several
hilbert station
commands (targeting the same station) are executed in rapid succession or even in parallel? Same with any otherstation
orserver
command I might not think of right now.