diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index e883fded65ab33ed65c176604b25fd2ad065396e..75f561b754c8ac7bf1ce98cb450f93ea148617a0 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -1281,8 +1281,14 @@ void Msg::ImportPhysicalsAsOnelabRegions() void Msg::RunOnelabClient(const std::string &name, const std::string &command) { #if defined(HAVE_ONELAB) && !defined(HAVE_ONELAB2) - gmshLocalNetworkClient client(name, command, "", true); - client.run(); + onelab::remoteNetworkClient *c = dynamic_cast<onelab::remoteNetworkClient*>(_onelabClient); + if(c){ + c->runSubClient(name, command); + } + else{ + gmshLocalNetworkClient client(name, command, "", true); + client.run(); + } #endif } diff --git a/Common/gmshLocalNetworkClient.cpp b/Common/gmshLocalNetworkClient.cpp index ef92f8471a629ea715fddf6f8cef86529b5e4d01..da5f06feb1a22b6557fa8f89f4139670f82aaafa 100644 --- a/Common/gmshLocalNetworkClient.cpp +++ b/Common/gmshLocalNetworkClient.cpp @@ -378,6 +378,10 @@ bool gmshLocalNetworkClient::receiveMessage(gmshLocalNetworkClient *master) new gmshLocalNetworkClient(clientName, command, "", true); onelabGmshServer *server = new onelabGmshServer(subClient); subClient->setPid(0); + onelab::string o(subClient->getName() + "/Action", "compute"); + o.setVisible(false); + o.setNeverChanged(true); + onelab::server::instance()->set(o); int sock = server->LaunchClient(); if(sock < 0){ // could not establish the connection: aborting server->Shutdown();