1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Fix hang in clvmd if a pre-command failed. The pre/post thread was getting

out of sync in this instance and would not quit.
This commit is contained in:
Patrick Caulfield 2006-12-11 13:48:41 +00:00
parent 193992de35
commit 47436a42df
2 changed files with 3 additions and 0 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.17 - Version 2.02.17 -
=================================== ===================================
Fix hang in clvmd if a pre-command failed.
Version 2.02.16 - 1st December 2006 Version 2.02.16 - 1st December 2006
=================================== ===================================

View File

@ -1426,6 +1426,8 @@ static __attribute__ ((noreturn)) void *pre_and_post_thread(void *arg)
DEBUGLOG("Writing status %d down pipe %d\n", status, pipe_fd); DEBUGLOG("Writing status %d down pipe %d\n", status, pipe_fd);
/* Tell the parent process we have finished this bit */ /* Tell the parent process we have finished this bit */
write(pipe_fd, &status, sizeof(int)); write(pipe_fd, &status, sizeof(int));
if (status)
continue; /* Wait for another PRE command */
/* We may need to wait for the condition variable before running the post command */ /* We may need to wait for the condition variable before running the post command */
pthread_mutex_lock(&client->bits.localsock.mutex); pthread_mutex_lock(&client->bits.localsock.mutex);