From f5f3526e46d1e05d293d1a20708dbec9e6682a26 Mon Sep 17 00:00:00 2001 From: alebre Date: Tue, 8 Oct 2013 14:50:29 +0200 Subject: [PATCH] Fix private host variable after a migration - Adrien --- src/bindings/java/jmsg_task.c | 12 ++++++++++++ src/bindings/java/org/simgrid/msg/Task.java | 5 +++++ src/bindings/java/org/simgrid/msg/VM.java | 2 ++ 3 files changed, 19 insertions(+) diff --git a/src/bindings/java/jmsg_task.c b/src/bindings/java/jmsg_task.c index 3ad81676b5..1e60bfb12a 100644 --- a/src/bindings/java/jmsg_task.c +++ b/src/bindings/java/jmsg_task.c @@ -225,6 +225,18 @@ Java_org_simgrid_msg_Task_execute(JNIEnv * env, jobject jtask) } } +JNIEXPORT void JNICALL +Java_org_simgrid_msg_Task_setBound(JNIEnv * env, jobject jtask, jdouble load) +{ + msg_task_t task = jtask_to_native_task(jtask, env); + + if (!task) { + jxbt_throw_notbound(env, "task", jtask); + return; + } + MSG_task_set_bound(task, load); +} + JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName(JNIEnv * env, jobject jtask) { diff --git a/src/bindings/java/org/simgrid/msg/Task.java b/src/bindings/java/org/simgrid/msg/Task.java index 95ab081c1a..2b7b2dd98b 100644 --- a/src/bindings/java/org/simgrid/msg/Task.java +++ b/src/bindings/java/org/simgrid/msg/Task.java @@ -168,6 +168,11 @@ public class Task { * @throws TaskCancelledException */ public native void execute() throws HostFailureException,TaskCancelledException; + /** + * Bound a computation to a certain load + * + */ + public native void setBound(double load); /** * Cancels a task. * diff --git a/src/bindings/java/org/simgrid/msg/VM.java b/src/bindings/java/org/simgrid/msg/VM.java index 238ed6a3df..68c92a4e38 100644 --- a/src/bindings/java/org/simgrid/msg/VM.java +++ b/src/bindings/java/org/simgrid/msg/VM.java @@ -84,6 +84,7 @@ public class VM extends Host{ /* JNI / Native code */ + /* get/set property methods are inherited from the Host class. */ /** Returns whether the given VM is currently suspended @@ -157,6 +158,7 @@ public class VM extends Host{ */ public void migrate(Host destination){ this.internalmig(destination); + this.currentHost = destination; } /** Immediately suspend the execution of all processes within the given VM -- 2.20.1