Fix several bugs in the new console resizing code:
authorTaylor R. Campbell <net/mumble/campbell>
Sat, 31 Dec 2005 20:02:16 +0000 (20:02 +0000)
committerTaylor R. Campbell <net/mumble/campbell>
Sat, 31 Dec 2005 20:02:16 +0000 (20:02 +0000)
commit44f5c048edf736d356e124809a797f8185705cd0
tree9a53909caf83db8b18c44516c14c159b4d198cfa
parentca4de666521c3a19ea6c460087a42125a618a6f4
Fix several bugs in the new console resizing code:

  - Move initialization of terminal sizes out of UX_initialize_tty
    and into a new function, UX_reinitialize_tty, which does not also
    initialize the stdin/stdout channels, and which UX_initialize_tty
    calls.
  - Call UX_reinitialize_tty, not UX_initialize_tty, in the SIGWINCH
    handler, so that it will not reallocate the stdin/stdout channels
    and potentially overflow the channel table.
  - Don't distribute the CONSOLE-RESIZE event in the CONSOLE-RESIZE
    interrupt handler, since its receivers (recipients?) may perform
    arbitrary computation that should not be performed in interrupt
    handlers.  Instead, signal a thread event to the console thread,
    if there is one, that will distribute the CONSOLE-RESIZE event.
v7/src/microcode/uxsig.c
v7/src/microcode/uxtty.c
v7/src/runtime/intrpt.scm