Email or username:

Password:

Forgot your password?
3 posts total
rain 🌦️

New blog post! Beyond Ctrl-C: The dark corners of Unix signal handling.

The post is an introduction to signals and how to manage them effectively with async Rust. It's a written version of my talk at RustConf 2023, heavily edited for presentation as a blog post.

Hope you enjoy reading it as much as I enjoyed writing it!

sunshowers.io/posts/beyond-ctr

Paul Jewell

@rain
Thanks for sharing! Very interesting read

jyn

@rain

The functions okay to call in signal handlers are called async-signal-safe functions. The term is a bit confusing! “async” here has nothing to do with async Rust. (In many ways it’s the opposite of async Rust, because the defining characteristic of async Rust is that you cannot just be interrupted or preempted at any time. You can only be interrupted at await points.)

in some ways i wish rust (and javascript before it) had settled on "cooperative multi-tasking" as the name to call it

"async" is not a good intuition because so many things can be asynchronous idk. "multi-tasking" even has a nice task {} abbreviation you can use for the blocks that i think semantically describes what the closure is doing better

@rain

The functions okay to call in signal handlers are called async-signal-safe functions. The term is a bit confusing! “async” here has nothing to do with async Rust. (In many ways it’s the opposite of async Rust, because the defining characteristic of async Rust is that you cannot just be interrupted or preempted at any time. You can only be interrupted at await points.)

rain 🌦️

Something that came up in our work chat today is that a lot of the Linux kernel maintainers' insecurity comes from a lack of CI and testing infra.

I think projects should make it possible to write code with less fear

Fi, infosec-aspected

@rain

....mb this is a naive question but why haven't they set that up for at least their -parts- of the kernel space?

rain 🌦️

I'd just like to interject for a moment. What you're referring to as Linux, is in fact, systemd/Linux, or as I've recently taken to calling it, systemd plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning systemd system. Many computer users run a modified version of the systemd system every day, without realizing it. Through a peculiar turn of events, the version of systemd which is widely used today is often called “Linux,” and ma

David - Forking Mad

@rain@hachyderm.io makes me think of everyone on here who refers to this network as Mastodon, rather than the Fediverse 🤣

Go Up