-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#![no_std] support #76
Comments
Unfortunately, the sharding scheme this library uses relies on assigning an ID to each thread spawned by a program. This is implemented using a thread-local variable: Lines 40 to 42 in 8ebe120
Because threads are an abstraction provided by an operating system, there is no portable way to determine what concurrency context (e.g. CPU core) a slab is accessed in without using the standard library. I would really like to be able to provide a version of this library that does support Designing something like this would require some work, and I haven't really had the time to work on it. However, it is probably possible. |
Ok thanks for the quick and detailed reply, I thought it would have been simpler |
Hi,
Do you know if you plan for no_std support?
It would be really helpful, because I'm precisely looking for a lock-free, no_std slab storage
Looking at your crate, it does not seem like you use a lot of std-only features, I would venture saying maybe only no_std + alloc would be sufficient, and it would not be much overhead going no_std (I just don't know for the
std::thread::panicking
inpanic_in_drop
)I can possibly help for the commit to support no_std
What do you think?
The text was updated successfully, but these errors were encountered: