closure_call(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’« closure_call(9) β€” Kernel API Manual, section 9, bestie πŸ’«

okay so this is closure_call(9) from the Kernel API Manual and honestly? it's giving "spawn a whole new closure and let it cook" ✨


🌸 NAME 🌸

closure_call β€” execute @fn out of a new, uninitialized closure 🫢


✨ SYNOPSIS ✨

void closure_call (struct closure *cl , closure_fn fn , struct
workqueue_struct *wq , struct closure *parent );

like, copy that exactly, don't @ me πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • cl β€” -- undescribed -- πŸ™ˆ (yes bestie, the manpage really does just leave it blank, I'm not hiding anything from you fr fr)
  • fn β€” -- undescribed -- 😭
  • wq β€” -- undescribed -- πŸ’€
  • parent β€” -- undescribed -- πŸ¦‹
no cap, all four of these are literally listed as -- undescribed -- in the source page. iconic of them to leave us hanging, but that's the lore and I'm not inventing backstory 🌈

πŸ”₯ DESCRIPTION πŸ”₯

Typically used when running out of one closure, and we want to run fn asynchronously out of a new closure β€” parent will then wait for cl to finish ⭐

so like: you're already inside a closure, you want fn to go do its thing asynchronously in a shiny new closure, and then parent parks itself and waits for cl to wrap up. main character energy, honestly πŸ‘‘


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/closure.h β€” go read the header, it's the whole vibe iykyk πŸ“–


and that's the whole page bestie, slay πŸ’– this one lives in ./include/linux, dated October 2026, and it's closure_call(9) β€” periodt πŸŽ€βœ¨

πŸ“¦ where this page comes from