[kaffe] CVS kaffe (guilhem): A few fixes for the semaphore
replacement.
Michael Franz
mvfranz at gmail.com
Tue Jan 11 19:47:15 PST 2005
Guilhem,
This is a little late, but this broke the darwin JIT3 build. It is
missing some symbols during linking:
_repsem_destroy
_repsem_init
_repsem_post
_repsem_wait
Your later patch (11/28/04) does not fix it the problem. Well, at
least darwin's JIT3 still does not compile.
Is there any help/insight you can give to me to try to resolve this?
Thanks
Michael
On Mon, 22 Nov 2004 10:19:17 -0800, Kaffe CVS <cvs-commits at kaffe.org> wrote:
> PatchSet 5469
> Date: 2004/11/22 18:15:11
> Author: guilhem
> Branch: HEAD
> Tag: (none)
> Log:
> A few fixes for the semaphore replacement.
>
> * kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:
> Replaced sem_t by repsem_t where needed.
>
> * replace/semaphores.c: Use repsem_t instead of sem_t and
> define REPSEM_VALUE_MAX.
>
> Members:
> ChangeLog:1.3015->1.3016
> kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:1.24->1.25
> replace/semaphores.c:1.1->1.2
>
> Index: kaffe/ChangeLog
> diff -u kaffe/ChangeLog:1.3015 kaffe/ChangeLog:1.3016
> --- kaffe/ChangeLog:1.3015 Mon Nov 22 17:23:26 2004
> +++ kaffe/ChangeLog Mon Nov 22 18:15:11 2004
> @@ -1,5 +1,13 @@
> 2004-11-22 Guilhem Lavaux <guilhem at kaffe.org>
>
> + * kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:
> + Replaced sem_t by repsem_t where needed.
> +
> + * replace/semaphores.c: Use repsem_t instead of sem_t and
> + define REPSEM_VALUE_MAX.
> +
> +2004-11-22 Guilhem Lavaux <guilhem at kaffe.org>
> +
> * configure.ac:
> Call KAFFE_CHECK_SEMAPHORES.
>
> Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h
> diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:1.24 kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:1.25
> --- kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h:1.24 Mon Nov 22 17:23:49 2004
> +++ kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-internal.h Mon Nov 22 18:15:15 2004
> @@ -68,7 +68,7 @@
> int interrupting;
>
> /* convars and mutexes aren't useful in signal handlers, semaphores are */
> - sem_t sem;
> + repsem_t sem;
>
> /* the following fields hold our extensions */
> int active; /* are we in our user thread function 'func'? */
> Index: kaffe/replace/semaphores.c
> diff -u kaffe/replace/semaphores.c:1.1 kaffe/replace/semaphores.c:1.2
> --- kaffe/replace/semaphores.c:1.1 Mon Nov 22 17:24:15 2004
> +++ kaffe/replace/semaphores.c Mon Nov 22 18:15:15 2004
> @@ -39,11 +39,13 @@
>
> #include "repsemaphore.h"
>
> -int repsem_init(sem_t *sem, int pshared, int value)
> +#define REPSEM_VALUE_MAX 32767
> +
> +int repsem_init(repsem_t *sem, int pshared, int value)
> {
> int ret;
>
> - if (value > SEM_VALUE_MAX)
> + if (value > REPSEM_VALUE_MAX)
> {
> errno = EINVAL;
> return -1;
> @@ -68,12 +70,12 @@
> return 0;
> }
>
> -int repsem_post(sem_t *sem)
> +int repsem_post(repsem_t *sem)
> {
> if (pthread_mutex_lock(&sem->mutex) < 0)
> return -1;
>
> - if (sem->value == SEM_VALUE_MAX)
> + if (sem->value == REPSEM_VALUE_MAX)
> {
> errno = ERANGE;
> return -1;
> @@ -92,7 +94,7 @@
> return 0;
> }
>
> -int repsem_wait(sem_t *sem)
> +int repsem_wait(repsem_t *sem)
> {
> if (pthread_mutex_lock(&sem->mutex) < 0)
> return -1;
> @@ -109,7 +111,7 @@
> return 0;
> }
>
> -int repsem_trywait(sem_t *sem)
> +int repsem_trywait(repsem_t *sem)
> {
> if (pthread_mutex_lock(&sem->mutex) < 0)
> return -1;
> @@ -130,13 +132,13 @@
> return 0;
> }
>
> -int repsem_getvalue(sem_t *sem, int *sval)
> +int repsem_getvalue(repsem_t *sem, int *sval)
> {
> *sval = sem->value;
> return 0;
> }
>
> -int repsem_destroy(sem_t *sem)
> +int repsem_destroy(repsem_t *sem)
> {
> int ret;
>
> _______________________________________________
> kaffe mailing list
> kaffe at kaffe.org
> http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
>
More information about the kaffe
mailing list