rust3ds / pthread-3ds

PThread implementation for Nintendo 3DS Horizon OS targets. Keep in mind that Horizon OS uses a cooperative, and not preemptive, threading model.
Apache License 2.0
12 stars 7 forks source link

Remove reliance on svcGetThreadList and do some refactoring #14

Closed AzureMarker closed 2 years ago

AzureMarker commented 2 years ago

Continuing from #13, this should close https://github.com/Meziu/ctru-rs/issues/48.

This implements the "BTreeMap" approach discussed here: https://github.com/Meziu/pthread-3ds/pull/13#issuecomment-1042530623

We also get some nice benefits from this refactoring, such as implementing the "retval" part of pthread_join.

To more easily see the relevant changes, skip the first commit (it just splits the code into multiple files).

cc: @Meziu, @ian-h-chamberlain