start_tty(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… start_tty(9) β€” from the Kernel API Manual, bestie

Okay so we're doing a deep dive on start_tty(9) today and honestly? It's a little baddie of a function. Get comfy. πŸŽ€


✨ NAME ✨

start_tty β€” the one that propagates flow control 🌊

✨ SYNOPSIS ✨

void start_tty (struct tty_struct *tty );

✨ ARGUMENTS ✨

  • tty β€” the tty you're starting up. That's it. That's the whole vibe check. πŸ¦‹

✨ DESCRIPTION ✨

So start_tty starts a tty that's been stopped, if it's at all possible β€” like, it tries, okay? 😭 If that tty was previously stopped and is now getting started, then the tty_driver->start method gets invoked and the line discipline gets woken. Two things. Both of them. Not me listing them out β€” the kernel is doing that. πŸ’…

Locking: flow.lock β€” yeah she's locked, don't come for her. πŸ”’

✨ SEE ALSO ✨

Kernel file ./drivers/tty/tty_io.c β€” and honestly the whole friend group: free_tty_struct(9), tty_free_file(9), tty_name(9), get_tty_driver(9), tty_dev_name_to_number(9), tty_find_polling_driver(9), tty_wakeup(9), tty_release_redirect(9), __tty_hangup(9), tty_hangup(9), tty_vhangup(9), tty_vhangup_self(9), tty_vhangup_session(9), tty_hung_up_p(9), stop_tty(9), tty_read(9), tty_write(9), tty_send_xchar(9), pty_line_name(9), tty_line_name(9), tty_driver_lookup_tty(9), tty_init_termios(9), tty_standard_install(9), tty_driver_install_tty(9), tty_driver_remove_tty(9), tty_reopen(9), tty_init_dev(9), tty_save_termios(9), tty_flush_works(9), release_one_tty(9), tty_kref_put(9), release_tty(9), tty_release_checks(9), tty_kclose(9), tty_release_struct(9), tty_release(9), tty_open_current_tty(9), tty_lookup_driver(9), tty_kopen_exclusive(9), tty_kopen_shared(9), tty_open_by_driver(9), tty_open(9), tty_poll(9), tiocsti(9), tiocgwinsz(9), tty_do_resize(9), tiocswinsz(9), tioccons(9), tiocsetd(9), tiocgetd(9), send_break(9), tty_get_tiocm(9), tty_tiocmget(9), tty_tiocmset(9), tty_get_icount(9), alloc_tty_struct(9), tty_put_char(9), tty_register_device(9), tty_register_device_attr(9), tty_unregister_device(9), __tty_alloc_driver(9), tty_driver_kref_put(9), tty_register_driver(9), tty_unregister_driver(9). Like literally all of them. 🌈


That's the whole page, bestie β€” no notes, no cap. 🫢 This little drop lives in ./drivers/tty from the October 2026 collection, so if you're citing it, that's your source and that's your date, periodt. πŸ’–

πŸ“¦ where this page comes from