Index: /trunk/src/lib/test-eintr-bug-1.c
===================================================================
--- /trunk/src/lib/test-eintr-bug-1.c	(revision 2472)
+++ /trunk/src/lib/test-eintr-bug-1.c	(revision 2473)
@@ -4,6 +4,6 @@
 *   Header Files                                                               *
 *******************************************************************************/
-#define _XOPEN_SOURCE
-#define _BSD_SOURCE
+//#define _XOPEN_SOURCE
+//#define _BSD_SOURCE
 #include <sys/time.h>
 #include <sys/stat.h>
@@ -14,7 +14,9 @@
 
 
+volatile unsigned long g_cInts = 0;
+
 static void SigAlaramHandler(int iSig)
 {
-    /* ignore */
+    g_cInts++;
     (void)iSig;
 }
@@ -27,4 +29,5 @@
     int i;
     int rc;
+    char szName[256];
 
     /*
@@ -42,5 +45,5 @@
     memset(&TmrVal, '\0', sizeof(TmrVal));
     TmrVal.it_interval.tv_sec  = TmrVal.it_value.tv_sec  = 0;
-    TmrVal.it_interval.tv_usec = TmrVal.it_value.tv_usec = 1000;
+    TmrVal.it_interval.tv_usec = TmrVal.it_value.tv_usec = 1;
     rc = setitimer(ITIMER_REAL, &TmrVal, NULL);
     if (rc != 0)
@@ -49,20 +52,31 @@
         return 1;
     }
+    printf("interval %d.%06d\n", (int)TmrVal.it_interval.tv_sec, (int)TmrVal.it_interval.tv_usec);
 
     /*
      * Do path related stuff.
      */
+    snprintf(szName, sizeof(szName), "%s/fooled/you", argv[0]);
     for (i = 0; i < 100*1000*1000; i++)
     {
         struct stat St;
         rc = stat(argv[0], &St);
-        if (rc != 0)
+        if (rc == 0)
+            rc = stat(szName, &St);
+        if (rc != 0 && errno == EINTR)
         {
-            printf("iteration %d: stat: %u\n", i, errno);
+            printf("iteration %d: stat: %s (%u)\n", i, strerror(errno), errno);
             break;
+        }
+        if ((i % 100000) == 0)
+        {
+            printf("."); 
+            if ((i % 1000000) == 0)
+                printf("[%u/%lu]", i, g_cInts);
+            fflush(stdout);
         }
     }
 
-    if (rc)
+    if (!rc)
         printf("No EINTR in %d iterations - system is working nicely!\n", i);
 
