stop_tty(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ stop_tty(9) πŸŽ€

πŸ’– NAME πŸ’–

okay bestie, from the Kernel API Manual: stop_tty β€” propagate flow control. that's the whole name, and it's lowkey doing exactly what it says. ✨

✨ SYNOPSIS ✨

the signature is literally:

void stop_tty (struct tty_struct *tty );

πŸŽ€ ARGUMENTS πŸŽ€

  • tty β€” the tty to stop. that's the one and only argument, bestie. πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

so stop_tty performs flow control to the driver. it's giving β€œplease pause, babe” but in kernel. πŸ’–

it may be called on an already stopped device, and it will not re-call the tty_driver->stop method. no double-stopping, no cap. 🫢

this functionality is used by both the line disciplines (for halting incoming flow) and by the driver. so yeah, it's shared-icon behavior. 🌈

therefore it may be called from any context, and it may be under the tty atomic_write_lock β€” but not always. iykyk. πŸ‘‘

Locking: flow.lock. periodt. πŸ”’

🌸 SEE ALSO 🌸

Kernel file: ./drivers/tty/tty_io.c β€” and the whole friend group is: 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), start_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).


mwah πŸ’‹ β€” source/version: ./drivers/tty, date: October 2026, page: stop_tty(9). stay hydrated and don't forget your locks, bestie 🫢

πŸ“¦ where this page comes from