Mon Mar 20 09:26:54 PST 2006
- Previous message: [Slony1-commit] By cbbrowne: Add CVS Id tag Change debugging from level 4 to level 2; 4
- Next message: [Slony1-commit] By cbbrowne: Revisions to DDL Script processing.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message:
-----------
As pointed out by Tanida Yutaka <tanida at sraoss.co.jp>...
We lock configuration using rtcfg_lock(); if the node isn't active,
the code does a break without unlocking configuration, which leads to
a deadlock, which kills the slon if you drop a node.
The change is to call rtcfg_unlock() before the break...
Modified Files:
--------------
slony1-engine/src/slon:
remote_worker.c (r1.107 -> r1.108)
-------------- next part --------------
Index: remote_worker.c
===================================================================
RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/remote_worker.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -Lsrc/slon/remote_worker.c -Lsrc/slon/remote_worker.c -u -w -r1.107 -r1.108
--- src/slon/remote_worker.c
+++ src/slon/remote_worker.c
@@ -354,9 +354,15 @@
{
rtcfg_lock();
if (!node->no_active)
+ {
+ rtcfg_unlock();
break;
+ }
if (node->worker_status != SLON_TSTAT_RUNNING)
+ {
+ rtcfg_unlock();
break;
+ }
if (curr_config != rtcfg_seq_get())
{
- Previous message: [Slony1-commit] By cbbrowne: Add CVS Id tag Change debugging from level 4 to level 2; 4
- Next message: [Slony1-commit] By cbbrowne: Revisions to DDL Script processing.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list