Remove now unnecessary loop around CallNamedPipe().
authorMagnus Hagander <magnus@hagander.net>
Sun, 31 Jan 2010 17:18:28 +0000 (17:18 +0000)
committerMagnus Hagander <magnus@hagander.net>
Sun, 31 Jan 2010 17:18:28 +0000 (17:18 +0000)
Radu Ilie

src/port/kill.c

index bb2ff85bb39b0005d6ad9fc8de80ac08597d828e..c1a639330baa39e75970f94c2ff0451adb9c1f83 100644 (file)
@@ -9,7 +9,7 @@
  * signals that the backend can recognize.
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/port/kill.c,v 1.13 2010/01/02 16:58:13 momjian Exp $
+ *   $PostgreSQL: pgsql/src/port/kill.c,v 1.14 2010/01/31 17:18:28 mha Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -25,7 +25,6 @@ pgkill(int pid, int sig)
    BYTE        sigData = sig;
    BYTE        sigRet = 0;
    DWORD       bytes;
-   int         pipe_tries;
 
    /* we allow signal 0 here, but it will be ignored in pg_queue_signal */
    if (sig >= PG_SIGNAL_COUNT || sig < 0)
@@ -41,23 +40,14 @@ pgkill(int pid, int sig)
    }
    snprintf(pipename, sizeof(pipename), "\\\\.\\pipe\\pgsignal_%u", pid);
 
-   /*
-    * Writing data to the named pipe can fail for transient reasons.
-    * Therefore, it is useful to retry if it fails.  The maximum number of
-    * calls to make was empirically determined from a 90-hour notification
-    * stress test.
-    */
-   for (pipe_tries = 0; pipe_tries < 3; pipe_tries++)
+   if (CallNamedPipe(pipename, &sigData, 1, &sigRet, 1, &bytes, 1000))
    {
-       if (CallNamedPipe(pipename, &sigData, 1, &sigRet, 1, &bytes, 1000))
+       if (bytes != 1 || sigRet != sig)
        {
-           if (bytes != 1 || sigRet != sig)
-           {
-               errno = ESRCH;
-               return -1;
-           }
-           return 0;
+           errno = ESRCH;
+           return -1;
        }
+       return 0;
    }
 
    if (GetLastError() == ERROR_FILE_NOT_FOUND)