<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/std/src/sys/process, branch stable</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=stable</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=stable'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-11T05:35:17+00:00</updated>
<entry>
<title>Rollup merge of #142391 - LevitatingBusinessMan:setsid, r=workingjubilee</title>
<updated>2025-07-11T05:35:17+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-07-11T05:35:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2730bebbf88ae9473b339bb7f66eb77fb2c9fa6f'/>
<id>urn:sha1:2730bebbf88ae9473b339bb7f66eb77fb2c9fa6f</id>
<content type='text'>
rust: library: Add `setsid` method to `CommandExt` trait

Add a setsid method to the CommandExt trait so that callers can create a process in a new session and process group whilst still using the POSIX spawn fast path.

Tracking issue: rust-lang/rust#105376

ACP: https://github.com/rust-lang/libs-team/issues/184

This PR was previously submitted by ``@HarveyHunt`` (whom I marked as Co-Author in the commit message) in rust-lang/rust#105377. However that PR went stale.

I applied the [suggestion](https://github.com/rust-lang/rust/pull/105377/files/231d19fcbfe155b2e85116865adae4253380ff1f#r1893457943) to change the function signature to `fn setsid(&amp;mut self, setsid: bool) -&gt; &amp;mut Command`.
</content>
</entry>
<entry>
<title>rust: library: Add setsid method to CommandExt trait</title>
<updated>2025-07-10T03:26:58+00:00</updated>
<author>
<name>LevitatingBusinessMan (Rein Fernhout)</name>
<email>me@levitati.ng</email>
</author>
<published>2025-06-12T00:34:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e0f76871eddd0f1345eba7d09e5ab4812f8aa91d'/>
<id>urn:sha1:e0f76871eddd0f1345eba7d09e5ab4812f8aa91d</id>
<content type='text'>
Add a setsid method to the CommandExt trait so that callers can create
a process in a new session and process group whilst still using the
POSIX spawn fast path.

Co-Authored-By: Harvey Hunt &lt;harveyhunt@fb.com&gt;
</content>
</entry>
<entry>
<title>update internal `send_signal` comment</title>
<updated>2025-06-27T10:24:42+00:00</updated>
<author>
<name>Deadbeef</name>
<email>ent3rm4n@gmail.com</email>
</author>
<published>2025-06-27T10:24:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7a79454de465774f8445a88640ffdc5792fc8a13'/>
<id>urn:sha1:7a79454de465774f8445a88640ffdc5792fc8a13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add ChildExt(::send_signal)</title>
<updated>2025-06-18T04:38:55+00:00</updated>
<author>
<name>Jeremy Smart</name>
<email>jeremy3141592@gmail.com</email>
</author>
<published>2025-06-18T04:38:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b3914945ae2d77770c25ed124a8450d82c8f7fe9'/>
<id>urn:sha1:b3914945ae2d77770c25ed124a8450d82c8f7fe9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: add safety comments to `CStringArray`</title>
<updated>2025-05-23T15:09:02+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2025-04-21T13:57:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=89a90d664082280584a27cc8030aba85d122448f'/>
<id>urn:sha1:89a90d664082280584a27cc8030aba85d122448f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: fix aliasing bug in UNIX process implementation</title>
<updated>2025-05-23T15:09:00+00:00</updated>
<author>
<name>joboet</name>
<email>jonasboettiger@icloud.com</email>
</author>
<published>2025-03-24T17:12:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a467516c2208474ec21b0ea139c45f7d41cbad7e'/>
<id>urn:sha1:a467516c2208474ec21b0ea139c45f7d41cbad7e</id>
<content type='text'>
`CStringArray` contained both `CString`s and their pointers. Unfortunately, since `CString` uses `Box`, moving the `CString`s into the `Vec` can (under stacked borrows) invalidate the pointer to the string, meaning the resulting `Vec&lt;*const c_char&gt;` was, from an opsem perspective, unusable. This PR removes removes the `Vec&lt;CString&gt;` from `CStringArray`, instead recreating the `CString`/`CStr` from the pointers when necessary. Also,`CStringArray` is now used for the process args as well, the old implementation was suffering from the same kind of bug.
</content>
</entry>
<entry>
<title>Add `std::os::unix::process::CommandExt::chroot` to safely chroot a child process</title>
<updated>2025-05-20T16:25:05+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2025-02-27T22:00:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a3cf6f640828647e34afe96a626b3b4f6bbb22b1'/>
<id>urn:sha1:a3cf6f640828647e34afe96a626b3b4f6bbb22b1</id>
<content type='text'>
This adds a `chroot` method to the `CommandExt` extension trait for the
`Command` builder, to set a directory to chroot into. This will chroot
the child process into that directory right before calling chdir for the
`Command`'s working directory.

To avoid allowing a process to have a working directory outside of the
chroot, if the `Command` does not yet have a working directory set,
`chroot` will set its working directory to "/".
</content>
</entry>
<entry>
<title>wire up startupinfo methods</title>
<updated>2025-05-14T17:00:56+00:00</updated>
<author>
<name>Federico Terzi</name>
<email>federicoterzi96@gmail.com</email>
</author>
<published>2025-05-14T17:00:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e0b6363974c7894d61addc96e677166173a01e5f'/>
<id>urn:sha1:e0b6363974c7894d61addc96e677166173a01e5f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix regression from #140393 for espidf / horizon / nuttx / vita</title>
<updated>2025-05-07T08:04:21+00:00</updated>
<author>
<name>ivmarkov</name>
<email>ivan.markov@gmail.com</email>
</author>
<published>2025-05-07T08:04:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=392880c004836724dfe7600e6f2e0db5f8bad168'/>
<id>urn:sha1:392880c004836724dfe7600e6f2e0db5f8bad168</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #140656 - joboet:fuchsia_pal, r=workingjubilee</title>
<updated>2025-05-07T00:29:24+00:00</updated>
<author>
<name>Jacob Pratt</name>
<email>jacob@jhpratt.dev</email>
</author>
<published>2025-05-07T00:29:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fe97fe45f89b1789f31273dbfd400bd42961e59e'/>
<id>urn:sha1:fe97fe45f89b1789f31273dbfd400bd42961e59e</id>
<content type='text'>
collect all Fuchsia bindings into the `fuchsia` module

The Fuchsia bindings are currently spread out across multiple modules in `sys/pal/unix` leading to unnecessary duplication. This PR moves all of these definitions into `sys::pal::unix::fuchsia` and additionally:
* deduplicates the definitions
* makes the error names consistent
* marks `zx_thread_self` and `zx_clock_get_monotonic` as safe extern functions
* removes unused items (there's no need to maintain these bindings if we're not going to use them)
* removes the documentation for the definitions (contributors should always consult the platform documentation, duplicating that here is just an extra maintenance burden)

`@rustbot` ping fuchsia
</content>
</entry>
</feed>
