<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/std/src/sys/sync/condvar, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-08-16T12:28:31+00:00</updated>
<entry>
<title>library: Migrate from `cfg_if` to `cfg_select`</title>
<updated>2025-08-16T12:28:31+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2025-08-10T21:25:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ae4a0cc3487f28b29f36afe8056535afad21e7b'/>
<id>urn:sha1:1ae4a0cc3487f28b29f36afe8056535afad21e7b</id>
<content type='text'>
Migrate the standard library from using the external `cfg_if` crate to
using the now-built-in `cfg_select` macro.

This does not yet eliminate the dependency from
`library/std/Cargo.toml`, because while the standard library itself no
longer uses `cfg_if`, it also incorporates the `backtrace` crate, which
does.

Migration assisted by the following vim command (after selecting the
full `cfg_if!` invocation):

```
'&lt;,'&gt;s/\(cfg_if::\)\?cfg_if/cfg_select/ | '&lt;,'&gt;s/^\( *\)} else {/\1}\r\1_ =&gt; {/c | '&lt;,'&gt;s/^\( *\)} else if #\[cfg(\(.*\))\] /\1}\r\1\2 =&gt; /e | '&lt;,'&gt;s/if #\[cfg(\(.*\))\] {/\1 =&gt; {/e
```

This is imperfect, but substantially accelerated the process. This
prompts for confirmation on the `} else {` since that can also appear
inside one of the arms. This also requires manual intervention to handle
any multi-line conditions.
</content>
</entry>
<entry>
<title>use generic Atomic type where possible</title>
<updated>2025-04-26T23:18:08+00:00</updated>
<author>
<name>Christopher Durham</name>
<email>cad97@cad97.com</email>
</author>
<published>2024-09-19T04:15:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4d93f6056824c338751f19356d33bb61ce818749'/>
<id>urn:sha1:4d93f6056824c338751f19356d33bb61ce818749</id>
<content type='text'>
in core/alloc/std only for now, and ignoring test files

Co-authored-by: Pavel Grigorenko &lt;GrigorenkoPV@ya.ru&gt;
</content>
</entry>
<entry>
<title>Implement Condvar::wait_timeout for targets without threads</title>
<updated>2024-12-18T10:33:15+00:00</updated>
<author>
<name>Sebastian Urban</name>
<email>surban@surban.net</email>
</author>
<published>2024-12-18T10:33:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=45c7ddfea6ba9980a1c6f4f9bd9c821e56af035e'/>
<id>urn:sha1:45c7ddfea6ba9980a1c6f4f9bd9c821e56af035e</id>
<content type='text'>
This always falls back to sleeping since there is no way
to notify a condvar on a target without threads.
</content>
</entry>
<entry>
<title>Rollup merge of #128184 - joboet:refactor_pthread_sync, r=workingjubilee</title>
<updated>2024-12-01T07:15:21+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2024-12-01T07:15:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fe4c6e8657271b0eeb5ada90e9ab751caab52a22'/>
<id>urn:sha1:fe4c6e8657271b0eeb5ada90e9ab751caab52a22</id>
<content type='text'>
std: refactor `pthread`-based synchronization

The non-trivial code for `pthread_condvar` is duplicated across the thread parking and the `Mutex`/`Condvar` implementations. This PR moves that code into `sys::pal`, which now exposes an `unsafe` wrapper type for `pthread_mutex_t` and `pthread_condvar_t`.
</content>
</entry>
<entry>
<title>std: clarify comments about initialization</title>
<updated>2024-11-30T15:22:56+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2024-11-30T15:22:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8b2ff49ff9dd20ee417907c2e96daa9f0cd8e7c4'/>
<id>urn:sha1:8b2ff49ff9dd20ee417907c2e96daa9f0cd8e7c4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>update cfgs</title>
<updated>2024-11-27T15:14:54+00:00</updated>
<author>
<name>Boxy</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2024-11-27T15:14:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=22998f078588cf479530ff93e4a66ab4bb666398'/>
<id>urn:sha1:22998f078588cf479530ff93e4a66ab4bb666398</id>
<content type='text'>
</content>
</entry>
<entry>
<title>xous: sync: remove `rustc_const_stable` attribute</title>
<updated>2024-10-29T14:43:46+00:00</updated>
<author>
<name>Sean Cross</name>
<email>sean@xobs.io</email>
</author>
<published>2024-10-29T14:39:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=59944c9c9f975f874565a1817d1ea005480a5e67'/>
<id>urn:sha1:59944c9c9f975f874565a1817d1ea005480a5e67</id>
<content type='text'>
These functions had `#[rustc_const_stable(feature = "const_locks", since
= "1.63.0")]` on them because they were originally taken from
`no_threads`. with d066dfd these no longer compile. Since other
platforms do not have this attribute, remove it. This fixes the build
for Xous.

Signed-off-by: Sean Cross &lt;sean@xobs.io&gt;
</content>
</entry>
<entry>
<title>std: refactor `pthread`-based synchronization</title>
<updated>2024-10-28T15:56:22+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2024-10-28T15:56:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=528b37a738abf6cb0166fb60701dc2841ad54ebf'/>
<id>urn:sha1:528b37a738abf6cb0166fb60701dc2841ad54ebf</id>
<content type='text'>
The non-trivial code for `pthread_condvar` is duplicated across the thread parking and the `Mutex`/`Condvar` implementations. This PR moves that code into `sys::pal`, which now exposes a non-movable wrapper type for `pthread_mutex_t` and `pthread_condvar_t`.
</content>
</entry>
<entry>
<title>we can now enable the 'const stable fn must be stable' check</title>
<updated>2024-10-28T10:48:39+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-10-26T07:40:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d066dfdb835f15fe2c4d2bdb31d88cb948b360ad'/>
<id>urn:sha1:d066dfdb835f15fe2c4d2bdb31d88cb948b360ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>library: consistently use American spelling for 'behavior'</title>
<updated>2024-10-25T10:02:47+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-10-25T10:01:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=854e3c43e005c992542a80bea9bbe16230470362'/>
<id>urn:sha1:854e3c43e005c992542a80bea9bbe16230470362</id>
<content type='text'>
</content>
</entry>
</feed>
