Author: Armin Rigo <ar...@tunes.org>
Branch: 
Changeset: r82627:2523cc45c5d9
Date: 2016-03-01 10:27 +0100
http://bitbucket.org/pypy/pypy/changeset/2523cc45c5d9/

Log:    hg backout 38deea741bed

        Causes failures on Linux. Looks easy to fix, but first backing this
        out, because fixes should go to cffi/cffi in the testing/embedding
        directory and then be copied here (there is the script
        pypy/tool/import_cffi.py for that).

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,12 +1,10 @@
 #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>
-sem_t *done;
+static sem_t done;
 #endif
 
 
@@ -56,7 +54,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
 
@@ -70,8 +68,8 @@
     start_routine(0);
 #else
     pthread_t th;
-    done = sem_open("perf-test", O_CREAT, 0777, 0);
-    int i, status;
+    int i, status = sem_init(&done, 0, 0);
+    assert(status == 0);
 
     add1(0, 0);   /* this is the main thread */
 
@@ -80,9 +78,7 @@
         assert(status == 0);
     }
     for (i = 0; i < PTEST_USE_THREAD; i++) {
-        status = sem_wait(done);
-        if (status)
-            fprintf(stderr, "%s\n", strerror(errno));
+        status = sem_wait(&done);
         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;
-    done = sem_open("thread1-test", O_CREAT, 0777, 0);
+    int i, status = sem_init(&done, 0, 0);
+    assert(status == 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;
-    done = sem_open("thread2-test", O_CREAT, 0777, 0);
+    int i, status = sem_init(&done, 0, 0);
+    assert(status == 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;
-    done = sem_open("thread-test3", O_CREAT, 0777, 0);
+    int i, status = sem_init(&done, 0, 0);
+    assert(status == 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,8 +31,7 @@
 int main(void)
 {
     pthread_t th;
-    int i, status;
-    done = sem_open("tlocal-test", O_CREAT, 0777, 0);
+    int i, status = sem_init(&done, 0, 0);
     assert(status == 0);
 
     for (i = 0; i < NTHREADS; i++) {
@@ -40,7 +39,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

Reply via email to