From fa850fa2a06b496bf4e47755edccd72afe66b0d7 Mon Sep 17 00:00:00 2001 From: Lionel Date: Fri, 7 Jun 2013 00:20:02 +0200 Subject: [PATCH] Fix exception handling in Java semaphores --- src/bindings/java/jmsg_synchro.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bindings/java/jmsg_synchro.c b/src/bindings/java/jmsg_synchro.c index 3bc4fcce1f..cea60307ec 100644 --- a/src/bindings/java/jmsg_synchro.c +++ b/src/bindings/java/jmsg_synchro.c @@ -81,8 +81,11 @@ Java_org_simgrid_msg_Semaphore_acquire(JNIEnv * env, jobject obj, jdouble timeou sem = (msg_sem_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); msg_error_t res = MSG_sem_acquire_timeout(sem, (double) timeout); - jmsg_throw_status(env, res); + if (res != MSG_OK) { + jmsg_throw_status(env, res); + } } + JNIEXPORT void JNICALL Java_org_simgrid_msg_Semaphore_release(JNIEnv * env, jobject obj) { msg_sem_t sem; -- 2.20.1