Actively hiring
Follow
Overview
News
Salaries
Products
People
Growth
Offices
Financials
News
accept() and socket inheritance
This post is about Windows. Last time we saw that sockets are pretty much just handles, and as such, they can be inherited. If a process creates an inheritable socket and runs CreateProcess with the appropriate parameters, its children will retain access
Read more
Report
DuplicateHandle works on sockets, mostly
WinAPI represents most "things" as HANDLE s: files, cross-process mutexes, threads, jobs, etc. Sockets, however, are a notable exception: while on Unix systems they're no different from files, Windows denotes them by a different type: SOCKET . The reason
Read more
Report
Race-free handle inheritance, maybe
Last time , I found out that Rust's implementation of subprocesses on Windows makes it impossible to spawn children that inherit selected handles without race conditions. Even if you do everything by the book, a simultaneous call to std::process::Command
Read more
Report
std::process::Command is a bad citizen on Windows
Say you're writing a Windows IPC library for Rust, and you want to pass a handle to a child process. Maybe it's a pipe, maybe it's a file, maybe it's a broker process handle. It turns out that there's no correct way to do so due to Rust's idiosyncrasies.
Read more
Report
Report
Show more news
