You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/this-month/2022-11/index.md
+23Lines changed: 23 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -113,6 +113,29 @@ The initial nightlies containing the prebuilt UEFI targets revealed some issues
113
113
Finally, we [changed the C compiler for the UEFI targets from gcc to clang](https://github.com/rust-lang/rust/pull/104622), which resolved some linker problems.
114
114
As of the 2022-11-22 nightly, the three UEFI targets should be fully usable, which means you no longer need to use the unstable `-Zbuild-std` feature.
<spanclass="maintainers">(Section written by [@mkroening](https://github.com/mkroening))</span>
118
+
119
+
While working on the [`libhermit-rs`] kernel, I moved the synchronization primitives targeted at kernel development into a separate crate: [`hermit-sync`].
120
+
Whilst I was there, I also enhanced the code and made it independent from libhermit, so the code can now be used in other projects as well; at least x86_64 and aarch64 ones for the moment.
121
+
122
+
The crate contains the following features:
123
+
124
+
* a function for running a closure without interrupts
125
+
* a simple spinlock with exponential backoff
126
+
* a fair ticket lock with exponential backoff
127
+
*`OnceCell` and `Lazy` based on [`generic_once_cell`] (another recent project of mine)
128
+
129
+
All of these primitives are available with and without interrupt safety.
0 commit comments