16 Jan
2012
16 Jan
'12
12:25 a.m.
I had code similar to the following... Functor object: struct Task { operator()() { // thread main } smartfd p; }; Note that smartfd is a wrapper around a file descriptor. In its dtor it closes the fd. Then, elsewhere I set up an instance of Task and spawn it with boost::thread... Task t; t.p = // open file descriptor boost::thread thr(t); The spawned thread gets an instance of Task, but it's not the same instance as from the main. What is the rationale? -- Chris Cleeland