mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
b0e75bd356
There is a window of time where the following can occur. 1. An API request is in process to the lvm shell, we have written some command to the lvm shell and we are blocked on that thread waiting 2. A signal arrives to the daemon which causes us to exit. The signal handling code path goes directly to the lvm shell and writes "exit\n". This causes the lvm shell to simply exit. 3. The thread that was waiting for a response gets an EIO as the child process has exited. This bubbles up a failure. This is addressed by placing a lock in the lvm shell to prevent concurrent access to the shell. We also gather additional debug data when we get an error in the lvm shell read path. This should help if the lvm shell exits/crashes on its own. |
||
---|---|---|
.. | ||
__init__.py | ||
.gitignore | ||
automatedproperties.py | ||
background.py | ||
cfg.py | ||
cmdhandler.py | ||
fetch.py | ||
job.py | ||
loader.py | ||
lv.py | ||
lvm_shell_proxy.py.in | ||
lvmdb.py.in | ||
lvmdbusd.in | ||
main.py | ||
Makefile.in | ||
manager.py | ||
objectmanager.py | ||
path.py.in | ||
pv.py | ||
request.py | ||
state.py | ||
udevwatch.py | ||
utils.py | ||
vg.py |