Fri Mar 25 13:20:21 PST 2005
- Previous message: [Slony1-general] Some win32 bits
- Next message: [Slony1-general] Some win32 bits
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Darcy Buskermolen wrote: >I've made chages in -HEAD to address your signal()/sigaction() request, >but I lack a win32 development environment to test on. If you could check >this under cvs -HEAD and report your findings. > > See attached some fixes to the current CVS HEAD. Apparently, you took CYGWIN as macro name to distinguish the signal code paths. I'm not using CYGWIN, but MINGW, so the macro WIN32 is predefined and can be used. After these changes, xxid and slony1_funcs compile ok. slon.c won't compile until #include "libpq/pqsignal.h" is included because sighandler isn't defined. After that, linkage fails from alarm, fork, pipe, wait, getppid symbols. alarm isn't surprising, it failed from that in the 1.0.5 branch too. This has to be implemented differently in win32, which wouldn't be too complicated. Unfortunately, the latest invention of the fork code is much more incompatible. Not only that fork() isn't available, the communication stuff is implemented in a unix only way (pipes are files in win32, not sockets). Actually, all stuff that handles with processes and signals should be implemented for win32 in a completely different way. Currently, this is not easily done because the config/worker code is interwoven with process/signal code. I'd propose to separate these sections, so a win32 specific implementation can be added later (V1.1.1?). FYI: In win32, I wouldn't implement a watchdog at all. The slon process would be under control of the win32 service manager, which handles this. Same for SIGHUP and SIGALRM. Regards, Andreas -------------- next part -------------- Index: configure =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/configure,v retrieving revision 1.45 diff -u -r1.45 configure --- configure 23 Mar 2005 22:59:22 -0000 1.45 +++ configure 25 Mar 2005 12:52:35 -0000 @@ -5996,7 +5996,7 @@ HAVE_POSIX_SIGNALS=$slonac_cv_func_posix_signals else - if x"$template" = xwin ; then + if test $template = win ; then echo "$as_me:$LINENO: result: \"Skipping Error on win32\"" >&5 echo "${ECHO_T}\"Skipping Error on win32\"" >&6 else Index: makefiles/Makefile.win =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/makefiles/Makefile.win,v retrieving revision 1.5 diff -u -r1.5 Makefile.win --- makefiles/Makefile.win 23 Mar 2005 22:59:23 -0000 1.5 +++ makefiles/Makefile.win 25 Mar 2005 12:45:59 -0000 @@ -2,7 +2,7 @@ LDFLAGS+= -g DLLTOOL= dlltool DLLWRAP= dllwrap -DLLLIBS= -lcygipc -lcrypt -lpostgres +DLLLIBS= -L$(pgpkglibdir) -lpostgres BE_DLLLIBS=-lpostgres MK_NO_LORDER=true MAKE_DLL=true @@ -14,7 +14,8 @@ AROPT = crs DLSUFFIX = .dll CFLAGS_SL = -override CFLAGS += -DCYGWIN=1 +override CFLAGS += $(CPPFLAGS) -DCYGWIN=1 +override LDFLAGS += $(DLLLIBS) -lpthread %.dll: %.o $(DLLTOOL) --export-all --output-def $*.def $< Index: src/slon/misc.c =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/misc.c,v retrieving revision 1.17 diff -u -r1.17 misc.c --- src/slon/misc.c 18 Feb 2005 00:15:57 -0000 1.17 +++ src/slon/misc.c 25 Mar 2005 12:46:00 -0000 @@ -23,8 +23,9 @@ #include <signal.h> #include <sys/time.h> #include <sys/types.h> - +#ifndef WIN32 #include <syslog.h> +#endif #include <stdarg.h> #include "libpq-fe.h" Index: src/slon/scheduler.c =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/scheduler.c,v retrieving revision 1.20 diff -u -r1.20 scheduler.c --- src/slon/scheduler.c 23 Mar 2005 23:06:50 -0000 1.20 +++ src/slon/scheduler.c 25 Mar 2005 12:46:01 -0000 @@ -21,8 +21,9 @@ #include <errno.h> #include <sys/time.h> #include <sys/types.h> +#ifndef WIN32 #include <sys/socket.h> - +#endif #include "libpq-fe.h" #include "c.h" Index: slon.c =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/slon.c,v retrieving revision 1.49 diff -u -r1.49 slon.c --- slon.c 23 Mar 2005 23:06:50 -0000 1.49 +++ slon.c 25 Mar 2005 12:49:42 -0000 @@ -673,7 +673,7 @@ slon_log(SLON_DEBUG2, "slon: begin signal handler setup\n"); -#ifndef (CYGWIN) +#ifndef CYGWIN act.sa_handler = &sighandler; sigemptyset(&act.sa_mask); act.sa_flags = SA_NODEFER;
- Previous message: [Slony1-general] Some win32 bits
- Next message: [Slony1-general] Some win32 bits
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list