summaryrefslogtreecommitdiffstats
path: root/library/cpp/threading/thread_local/generic.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve TGenericLocalValue, allow mixed thread-fiber-etc valueskulikov3 days1-10/+36
| | | | | | | | | | Make generic local values more safe and usable: - instead of factory, register fiber/coroutine-aware "GLS (general local storage) contexts"; - put up to 4 (normally no more than 2 -- threads and one coroutine implementation) different "tls" variables into one generic, choose correct one from current execution context; - suitable version of variable will be constructed on demand (no dependency from first usage); - improve unit test too. commit_hash:8586846a6a775bd66dffcdf58263f78042be2480
* Use generic thread-local value for kernel/groupattrs, crash context and ↵kulikov2025-11-281-1/+7
| | | | | | | | | | | | | eventlog scope - fix StdThreadLocalImpl -- make static state refcounted, there is no guarantee that static fields will outlive threads or TThreadLocalValues; - replace thread local values to generic local storage value in some places; - call runtime Init and replace local values factory; - don't disable NCurrentThreadEventlog for ytxx runtime, it should now work; - ensure generic local storage values are allocated after runtime init; - use function-scope static variables to prevent issues with order of construction and destruction; - basesearch now almost works with coroutines (with NProfile disabled). commit_hash:7fde81591b0dbc3a53b8d1cb11bb96930a2e9a80
* Generic thread (yt fiber, etc) local storagekulikov2025-11-181-0/+75
commit_hash:cc357d273b7ce5c911d194dd51fae5668877693c