We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e55cb73 commit 4e87d1fCopy full SHA for 4e87d1f
src/xenia/kernel/kernel_state.cc
@@ -138,7 +138,17 @@ void KernelState::set_process_type(uint32_t value) {
138
139
uint32_t KernelState::AllocateTLS() { return uint32_t(tls_bitmap_.Acquire()); }
140
141
-void KernelState::FreeTLS(uint32_t slot) { tls_bitmap_.Release(slot); }
+void KernelState::FreeTLS(uint32_t slot) {
142
+ const std::vector<object_ref<XThread>> threads =
143
+ object_table()->GetObjectsByType<XThread>();
144
+
145
+ for (const object_ref<XThread>& thread : threads) {
146
+ if (thread->is_guest_thread()) {
147
+ thread->SetTLSValue(slot, 0);
148
+ }
149
150
+ tls_bitmap_.Release(slot);
151
+}
152
153
void KernelState::RegisterTitleTerminateNotification(uint32_t routine,
154
uint32_t priority) {
0 commit comments