Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

Purplesyringa. Hi! I'm Alisa Sireneva (she/her), a software developer and blogger from Moscow.

News

Blog 2 months ago
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
Blog 2 months ago
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
Blog 2 months ago
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
Blog 2 months ago
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
Show more news