Give each element a serial number #22

Merged
glen merged 6 commits from element-serial into main 2024-11-22 02:25:11 +00:00

6 Commits

Author SHA1 Message Date
Aaron Fenyes
a5fd6545e0 Remove caveat about NEXT_ELEMENT_SERIAL wrapping
Commit 133b725 should make it impossible for the serial numbers to wrap.
2024-11-21 16:47:45 -08:00
Aaron Fenyes
133b725053 Panic if we run out of serial numbers 2024-11-21 16:42:43 -08:00
Aaron Fenyes
c5f09b99b3 Add reminder to reconsider global element serials 2024-11-21 16:03:58 -08:00
Aaron Fenyes
b0bd31a9da Go back to atomic for next element serial number
This reverts commit 7bc3a9eeae.

I'd hoped that `thread_local!` would force our code to be single-
threaded, but apparently it doesn't. With a global mutable static, it
seems like we have to include some kind of thread-safety to avoid
`unsafe` code, and an atomic provides the kind of safety we actually
want.
2024-11-21 15:55:40 -08:00
Aaron Fenyes
7bc3a9eeae Make the next element serial number thread-local
In the last revision, the next element serial number was thread-safe,
but that might be overdoing it. I suspect that elements will only ever
be created from the main thread.
2024-11-18 20:29:53 -08:00
Aaron Fenyes
6b2d44a58c Assign each element a serial number
For future thread-safety, keep the next serial number in a static atomic
variable.
2024-11-18 16:08:06 -08:00