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"); _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit