X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fscripting%2Fthread_queue.cpp;h=4e3d06c54fd216043705304a49e961b788ef080d;hb=08813a74da6ac1fd045a105e4e8105f1d7f716f0;hp=f14e9718d7b2a9ec458ef20dc1542da73e5f56cc;hpb=cb941f239a04ee0588c99bfcdcd6aff62e1fbc98;p=supertux.git diff --git a/src/scripting/thread_queue.cpp b/src/scripting/thread_queue.cpp index f14e9718d..4e3d06c54 100644 --- a/src/scripting/thread_queue.cpp +++ b/src/scripting/thread_queue.cpp @@ -1,12 +1,10 @@ -// $Id$ -// // SuperTux // Copyright (C) 2006 Matthias Braun // -// This program is free software; you can redistribute it and/or -// modify it under the terms of the GNU General Public License -// as published by the Free Software Foundation; either version 2 -// of the License, or (at your option) any later version. +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,13 +12,12 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -#include +// along with this program. If not, see . + +#include "scripting/thread_queue.hpp" -#include "thread_queue.hpp" -#include "squirrel_util.hpp" -#include "log.hpp" +#include "scripting/squirrel_util.hpp" +#include "util/log.hpp" namespace Scripting { @@ -46,10 +43,10 @@ ThreadQueue::add(HSQUIRRELVM vm) sq_pop(global_vm, 2); throw SquirrelError(global_vm, "Couldn't get thread weakref from vm"); } - sq_addref(global_vm, &object); + sq_addref(global_vm, &object); threads.push_back(object); - sq_pop(global_vm, 2); + sq_pop(global_vm, 2); } void @@ -63,18 +60,18 @@ ThreadQueue::wakeup() size_t size_begin = threads.size(); while(i != end) { HSQOBJECT object = threads[i]; - + sq_pushobject(global_vm, object); sq_getweakrefval(global_vm, -1); HSQUIRRELVM scheduled_vm; if(sq_gettype(global_vm, -1) == OT_THREAD && - SQ_SUCCEEDED(sq_getthread(global_vm, -1, &scheduled_vm))) { - if(SQ_FAILED(sq_wakeupvm(scheduled_vm, SQFalse, SQFalse, SQTrue))) { + SQ_SUCCEEDED(sq_getthread(global_vm, -1, &scheduled_vm))) { + if(SQ_FAILED(sq_wakeupvm(scheduled_vm, SQFalse, SQFalse, SQTrue, SQFalse))) { log_warning << "Couldn't wakeup scheduled squirrel VM" << std::endl; } } - + sq_release(global_vm, &object); sq_pop(global_vm, 1); i--; @@ -85,3 +82,4 @@ ThreadQueue::wakeup() } +/* EOF */