#3631: Mapset remains locked after switch to it and exit
-------------------------------------------------+-------------------------
Reporter: wenzeslaus | Owner: grass-dev@…
Type: defect | Status: assigned
Priority: normal | Milestone: 7.6.0
Component: Startup | Version: svn-trunk
Keywords: init, grass.py, lock, gislock, | CPU: Unspecified
g.mapset |
Platform: Linux |
-------------------------------------------------+-------------------------
To reproduce:
1. Start in mapset A.
2. Switch to mapset B.
3. Exit.
4. Mapset B is still locked.
The problem is that `grass.py` tries to remove the lock from A, but that
was already removed. No warning or error is generated, because `grass.py`
''tries'' (`try_remove()`) and thus ignores any errors. This behavior
seems to be there at least since 7.0 (by looking at the code).
Influences:
* G7:g.mapset
* ''Settings > GRASS working environment > ...''
* workspace loading with "session" (#3575)
In [changeset:"73335" 73335]:
{{{
#!CommitTicketReference repository="" revision="73335"
init: remove lock from the current mapset (fixes #3631)
Do not remove lock based on the path to the initially locked file,
but instead use the rc file point to by GISRC (assumed stable within this
proccess)
to find out the current mapset and remove lock file there.
Now a sequence start in mapset A, switch to B, exit removes all lock
files.
Before, only the A lock file was removed, specifically the lock file was
left
in the mapset exited from.
}}}