Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jul 19, 2009, 2:12:50 AM (15 years ago)
Author:
landauf
Message:

Completely rewrote TclThreadManager. This fixes several bugs from the initial implementation. The main features work fine now, but some tasks are still open (for example destroying a thread or implementing a queue size limit).

I hope this doesn't cause any troubles because I used the TclThreadManager-version from netp6 as a draft for the reimplementation. I've also applied the c-style-cast-fixes from core.

I tested this with boost 1.37, I hope it also works with 1.35 (I haven't seen any remarkable changes in the log). However it won't work with boost 1.34.1 and lower, but this change already happened back in netp6, so please update your dependencies if you're still using an old version (the current release is 1.39 btw).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/core/TclBind.cc

    r3280 r3307  
    7979            this->interpreter_->def("orxonox::crossquery", TclThreadManager::tcl_crossquery, Tcl::variadic());
    8080            this->interpreter_->def("execute", TclBind::tcl_execute, Tcl::variadic());
     81            this->interpreter_->def("orxonox::crossexecute", TclThreadManager::tcl_crossexecute, Tcl::variadic());
    8182
    8283            try
    8384            {
    84                 this->interpreter_->eval("proc query args { orxonox::query $args }");
    85                 this->interpreter_->eval("proc crossquery {id args} { orxonox::crossquery 0 $id $args }");
     85                this->interpreter_->eval("proc query args { orxonox::query [join $args] }");
     86                this->interpreter_->eval("proc crossquery {id args} { orxonox::crossquery 0 $id [join $args] }");
     87                this->interpreter_->eval("proc crossexecute {id args} { orxonox::crossquery 0 $id [join $args] }");
    8688                this->interpreter_->eval("set id 0");
    8789                this->interpreter_->eval("rename exit tcl::exit; proc exit {} { execute exit }");
Note: See TracChangeset for help on using the changeset viewer.