Jan Wieck JanWieck
Sat Oct 22 01:12:32 PDT 2005
On 10/21/2005 4:51 PM, Darcy Buskermolen wrote:
> On Friday 21 October 2005 12:35, Dave Page wrote:
>> It seems that the change here:
>> http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/as
>> ync.c?rev=1.125;content-type=text%2Fx-cvsweb-markup has broken
>> slony1_funcs:
>>
>> gcc -g -O2 -I../.. -I/usr/local/pgsql/include
>> -I/usr/local/pgsql/include/server
>> -DPGSHARE="\"/usr/local/pgsql/share/\""  slonik.o dbutil.o parser.o
>> win32ver.o -lpgport -L/usr/local/pgsql/lib -L/usr/local/pgsql/lib -lpq
>> -lintl  -lpq -o slonik.exe
>> make[2]: Leaving directory `/cvs/slony1-engine/src/slonik'
>> make[2]: Entering directory `/cvs/slony1-engine/src/backend'
>> gcc -g -O2 -I../..  -I/usr/local/pgsql/include
>> -I/usr/local/pgsql/include/server
>> -I/usr/local/pgsql/include/server/port/win32  -c -o slony1_funcs.o
>> slony1_funcs.c
>> slony1_funcs.c: In function `_Slony_I_cleanupListener':
>> slony1_funcs.c:1081: error: too many arguments to function
>> `Async_Unlisten'
>> make[2]: *** [slony1_funcs.o] Error 1
>> make[2]: Leaving directory `/cvs/slony1-engine/src/backend'
>> make[1]: *** [all] Error 2
>> make[1]: Leaving directory `/cvs/slony1-engine/src'
>> make: *** [all] Error 2
>>
>> I don't have time to look at this at the moment, and I'm not sure what
>> the best way to fix it is anyway :-(
> 
> This was being discused on #slony earlyer today, and is something that needs 
> to be investigated more in depth how exactly we want to deal with it that 
> is , assuming the Async_Unlisten() change isn't repoed prior to 8.1 gold.  I 
> suspect that we will find a workable solution someware around the time 8.1 
> RC1 is made available.

For the record,

Slony-I uses a pg_listener entry as a locking mechanism to prevent 
multiple concurrent slon processes serving the same node. The function 
Async_Unlisten() is used in a backend function that is called during 
slon startup in an attempt to remove stale pg_listener entries left over 
from a PostgreSQL crash. This function scans pg_listener, tries to 
kill(pid, 0) the backends listed in there in order to check if they are 
alive and if not, calls Async_Unlisten() _with that foreign pid_.

This means, that the very functionality we use is gone. What we have to 
find out is if we still need that functionality, or if something else in 
8.1 does the cleanup for us during postmaster restart already, so that 
we can skip the whole thing.


Jan

-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck at Yahoo.com #


More information about the Slony1-general mailing list