| 97 | }; |
| 98 | |
| 99 | inline TPerThreadStorage* MyStorage() { |
| 100 | #if defined(Y_HAVE_FAST_POD_TLS) |
| 101 | Y_POD_STATIC_THREAD(TPerThreadStorage*) |
| 102 | my(nullptr); |
| 103 | |
| 104 | if (!my) { |
| 105 | my = MyStorageSlow(); |
| 106 | } |
| 107 | |
| 108 | return my; |
| 109 | #else |
| 110 | return MyStorageSlow(); |
| 111 | #endif |
| 112 | } |
| 113 | |
| 114 | virtual TPerThreadStorage* MyStorageSlow() = 0; |
| 115 |