2015-09-05 21:06 GMT+02:00 Hartmut Kaiser
HPX itself uses TLS to store
a) a reference to the current scheduler responsible for the particular kernel-thread, and b) a reference to the currently active (running) fiber object.
Both uses are safe as they are maintained by the runtime.
what does that mean 'maintained by the runtime'? void bar( ptr_scheduler_thread_local_var) { printf("%p\n", ptr_scheduler_thread_local_var); suspend_and_migrate_fiber(); } void foo() { while ( true) { bar( return_ptr_of_scheduler_thread_local_var() ); ... } } in this example b) accesses a) (TLS of scheduler) prints in to stdout suspends active fiber and migrates it to another thread after resumption the address of the TLS-scheduler is printed out ... how does your code look like after compiler optimization?!