> Both win32 send/recv have pgwin32_poll_signals() in them. > This is glorified WaitForSingleObjectEx on global > pgwin32_signal_event. This is probably part of the problem. > Can we work some of the same magic you put into check > interrupts macro? > > ISTM everything also in win32 functions is either API call, > or marginal case. Uh, we already do that, don't we? http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/port/win32/ socket.c?rev=1.10 has: static int pgwin32_poll_signals(void) { if (UNBLOCKED_SIGNAL_QUEUE()) { pgwin32_dispatch_queued_signals(); errno = EINTR; return 1; } return 0; } Are you testing this on 8.0.x? Or a pre-RC version of 8.1? //Magnus