[Vala] Threads and closures problem

Hi all
I just played around with closures as thread functions. I'm not sure if
this example is supposed to work, but at least it compiles. 

class HHH : Object {
        public void run() {
                string test = "test";
                try {
                        Thread.create( ()=> { print("in thread : %s \n", test); }, false);
                catch(GLib.ThreadError e) {
                        print("%s", e.message);
        public static MainLoop loop;
        public static int main() {
                loop = new MainLoop(null, false);
                var h = new HHH();
                return 0;

// valac --thread hhh.vala

Problem is that the value in the closure is lost somehow.
The output of this test program is:

in thread : (null) 

Anybody knows how this should be handled?

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]