Author: Armin Rigo <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit