You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by dg...@hyperreal.org on 1998/01/10 09:08:46 UTC
cvs commit: apachen/src/test time-sem.c
dgaudet 98/01/10 00:08:46
Modified: src/test time-sem.c
Log:
fix problems with YIELD macro and anon mmap so that I could test on OSF/1
Revision Changes Path
1.6 +6 -10 apachen/src/test/time-sem.c
Index: time-sem.c
===================================================================
RCS file: /export/home/cvs/apachen/src/test/time-sem.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- time-sem.c 1997/11/10 01:50:09 1.5
+++ time-sem.c 1998/01/10 08:08:45 1.6
@@ -403,22 +403,15 @@
#ifndef HAVE_SHMGET
static void *get_shared_mem(size_t size)
{
- int fd;
void *result;
/* allocate shared memory for the shared_counter */
- fd = open ("/dev/zero", O_RDWR);
- if (fd == -1) {
- perror ("open");
- exit (1);
- }
result = (unsigned long *)mmap ((caddr_t)0, size,
- PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+ PROT_READ|PROT_WRITE, MAP_ANON|MAP_SHARED, -1, 0);
if (result == (void *)(caddr_t)-1) {
perror ("mmap");
exit (1);
}
- close (fd);
return result;
}
#else
@@ -486,7 +479,7 @@
#include <sched.h>
#define YIELD sched_yield()
#else
-#define YIELD select(0,0,0,0,0)
+#define YIELD do { struct timeval zero; zero.tv_sec = zero.tv_usec = 0; select(0,0,0,0,&zero); } while(0)
#endif
void main (int argc, char **argv)
@@ -557,7 +550,10 @@
gettimeofday (&last, NULL);
if (*shared_counter != num_child * num_iter) {
- puts ("WTF! shared_counter != num_child * num_iter!");
+ printf ("WTF! shared_counter != num_child * num_iter!\n"
+ "shared_counter = %lu\nnum_child = %d\nnum_iter=%d\n",
+ *shared_counter,
+ num_child, num_iter);
}
last.tv_sec -= first.tv_sec;