[pypy-commit] pypy default: fix embedding tests on OS X (they might or might not work on linux, too lazy to check), sem_init is deprecated
fijal
pypy.commits at gmail.com
Mon Feb 29 17:22:19 EST 2016
Author: fijal
Branch:
Changeset: r82619:38deea741bed
Date: 2016-02-29 23:20 +0100
http://bitbucket.org/pypy/pypy/changeset/38deea741bed/
Log: fix embedding tests on OS X (they might or might not work on linux,
too lazy to check), sem_init is deprecated
diff --git a/pypy/module/test_lib_pypy/cffi_tests/embedding/perf-test.c b/pypy/module/test_lib_pypy/cffi_tests/embedding/perf-test.c
--- a/pypy/module/test_lib_pypy/cffi_tests/embedding/perf-test.c
+++ b/pypy/module/test_lib_pypy/cffi_tests/embedding/perf-test.c
@@ -1,10 +1,12 @@
#include <stdio.h>
#include <assert.h>
+#include <string.h>
#include <sys/time.h>
+#include <errno.h>
#ifdef PTEST_USE_THREAD
# include <pthread.h>
# include <semaphore.h>
-static sem_t done;
+sem_t *done;
#endif
@@ -54,7 +56,7 @@
printf("time per call: %.3g\n", t);
#ifdef PTEST_USE_THREAD
- int status = sem_post(&done);
+ int status = sem_post(done);
assert(status == 0);
#endif
@@ -68,8 +70,8 @@
start_routine(0);
#else
pthread_t th;
- int i, status = sem_init(&done, 0, 0);
- assert(status == 0);
+ done = sem_open("perf-test", O_CREAT, 0777, 0);
+ int i, status;
add1(0, 0); /* this is the main thread */
@@ -78,7 +80,9 @@
assert(status == 0);
}
for (i = 0; i < PTEST_USE_THREAD; i++) {
- status = sem_wait(&done);
+ status = sem_wait(done);
+ if (status)
+ fprintf(stderr, "%s\n", strerror(errno));
assert(status == 0);
}
#endif
diff --git a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread1-test.c b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread1-test.c
--- a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread1-test.c
+++ b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread1-test.c
@@ -7,7 +7,7 @@
extern int add1(int, int);
-static sem_t done;
+static sem_t* done;
static void *start_routine(void *arg)
@@ -16,7 +16,7 @@
x = add1(40, 2);
assert(x == 42);
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -25,8 +25,8 @@
int main(void)
{
pthread_t th;
- int i, status = sem_init(&done, 0, 0);
- assert(status == 0);
+ int i, status;
+ done = sem_open("thread1-test", O_CREAT, 0777, 0);
printf("starting\n");
fflush(stdout);
@@ -35,7 +35,7 @@
assert(status == 0);
}
for (i = 0; i < NTHREADS; i++) {
- status = sem_wait(&done);
+ status = sem_wait(done);
assert(status == 0);
}
printf("done\n");
diff --git a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread2-test.c b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread2-test.c
--- a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread2-test.c
+++ b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread2-test.c
@@ -5,7 +5,7 @@
extern int add1(int, int);
extern int add2(int, int, int);
-static sem_t done;
+static sem_t* done;
static void *start_routine_1(void *arg)
@@ -14,7 +14,7 @@
x = add1(40, 2);
assert(x == 42);
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -29,7 +29,7 @@
x = add2(1000, 200, 30);
assert(x == 1230);
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -38,8 +38,8 @@
int main(void)
{
pthread_t th;
- int i, status = sem_init(&done, 0, 0);
- assert(status == 0);
+ int i, status;
+ done = sem_open("thread2-test", O_CREAT, 0777, 0);
printf("starting\n");
fflush(stdout);
@@ -49,7 +49,7 @@
assert(status == 0);
for (i = 0; i < 2; i++) {
- status = sem_wait(&done);
+ status = sem_wait(done);
assert(status == 0);
}
printf("done\n");
diff --git a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread3-test.c b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread3-test.c
--- a/pypy/module/test_lib_pypy/cffi_tests/embedding/thread3-test.c
+++ b/pypy/module/test_lib_pypy/cffi_tests/embedding/thread3-test.c
@@ -5,7 +5,7 @@
extern int add2(int, int, int);
extern int add3(int, int, int, int);
-static sem_t done;
+static sem_t* done;
static void *start_routine_2(void *arg)
@@ -14,7 +14,7 @@
x = add2(40, 2, 100);
assert(x == 142);
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -26,7 +26,7 @@
x = add3(1000, 200, 30, 4);
assert(x == 1234);
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -35,8 +35,8 @@
int main(void)
{
pthread_t th;
- int i, status = sem_init(&done, 0, 0);
- assert(status == 0);
+ int i, status;
+ done = sem_open("thread-test3", O_CREAT, 0777, 0);
printf("starting\n");
fflush(stdout);
@@ -47,7 +47,7 @@
assert(status == 0);
}
for (i = 0; i < 20; i++) {
- status = sem_wait(&done);
+ status = sem_wait(done);
assert(status == 0);
}
printf("done\n");
diff --git a/pypy/module/test_lib_pypy/cffi_tests/embedding/tlocal-test.c b/pypy/module/test_lib_pypy/cffi_tests/embedding/tlocal-test.c
--- a/pypy/module/test_lib_pypy/cffi_tests/embedding/tlocal-test.c
+++ b/pypy/module/test_lib_pypy/cffi_tests/embedding/tlocal-test.c
@@ -7,7 +7,7 @@
extern int add1(int, int);
-static sem_t done;
+static sem_t *done;
static void *start_routine(void *arg)
@@ -22,7 +22,7 @@
assert(x == expected + 8 + i);
}
- status = sem_post(&done);
+ status = sem_post(done);
assert(status == 0);
return arg;
@@ -31,7 +31,8 @@
int main(void)
{
pthread_t th;
- int i, status = sem_init(&done, 0, 0);
+ int i, status;
+ done = sem_open("tlocal-test", O_CREAT, 0777, 0);
assert(status == 0);
for (i = 0; i < NTHREADS; i++) {
@@ -39,7 +40,7 @@
assert(status == 0);
}
for (i = 0; i < NTHREADS; i++) {
- status = sem_wait(&done);
+ status = sem_wait(done);
assert(status == 0);
}
printf("done\n");
More information about the pypy-commit
mailing list