mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 20:17:42 +00:00
Some minor termios debugging output.
This commit is contained in:
parent
f1404aa948
commit
1cf20a2fe2
3 changed files with 16 additions and 5 deletions
|
@ -21,6 +21,7 @@
|
||||||
//#define DEBUG_IO
|
//#define DEBUG_IO
|
||||||
//#define TASK_DEBUG
|
//#define TASK_DEBUG
|
||||||
//#define FORK_DEBUG
|
//#define FORK_DEBUG
|
||||||
|
#define TERMIOS_DEBUG
|
||||||
#define SIGNAL_DEBUG
|
#define SIGNAL_DEBUG
|
||||||
#define MAX_PROCESS_GIDS 32
|
#define MAX_PROCESS_GIDS 32
|
||||||
|
|
||||||
|
@ -1545,10 +1546,10 @@ int Process::sys$tcgetattr(int fd, Unix::termios* tp)
|
||||||
return -EBADF;
|
return -EBADF;
|
||||||
if (!descriptor->isTTY())
|
if (!descriptor->isTTY())
|
||||||
return -ENOTTY;
|
return -ENOTTY;
|
||||||
auto& tty = *descriptor->tty();
|
|
||||||
#ifdef TERMIOS_DEBUG
|
#ifdef TERMIOS_DEBUG
|
||||||
kprintf("sys$tcgetattr(fd=%d, tp=%p)\n", fd, tp);
|
dbgprintf("sys$tcgetattr(fd=%d, tp=%p)\n", fd, tp);
|
||||||
#endif
|
#endif
|
||||||
|
auto& tty = *descriptor->tty();
|
||||||
memcpy(tp, &tty.termios(), sizeof(Unix::termios));
|
memcpy(tp, &tty.termios(), sizeof(Unix::termios));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1563,10 +1564,10 @@ int Process::sys$tcsetattr(int fd, int optional_actions, const Unix::termios* tp
|
||||||
if (!descriptor->isTTY())
|
if (!descriptor->isTTY())
|
||||||
return -ENOTTY;
|
return -ENOTTY;
|
||||||
#ifdef TERMIOS_DEBUG
|
#ifdef TERMIOS_DEBUG
|
||||||
kprintf("sys$tcsetattr(fd=%d, tp=%p)\n", fd, tp);
|
dbgprintf("sys$tcsetattr(fd=%d, tp=%p)\n", fd, tp);
|
||||||
#endif
|
#endif
|
||||||
auto& tty = *descriptor->tty();
|
auto& tty = *descriptor->tty();
|
||||||
memcpy(&tty.termios(), tp, sizeof(Unix::termios));
|
tty.set_termios(*tp);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -57,3 +57,12 @@ void TTY::interrupt()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TTY::set_termios(const Unix::termios& t)
|
||||||
|
{
|
||||||
|
m_termios = t;
|
||||||
|
dbgprintf("%s set_termios: IECHO? %u, ISIG? %u\n",
|
||||||
|
ttyName().characters(),
|
||||||
|
should_echo_input(),
|
||||||
|
should_generate_signals());
|
||||||
|
}
|
||||||
|
|
|
@ -16,7 +16,8 @@ public:
|
||||||
void set_pgid(pid_t pgid) { m_pgid = pgid; }
|
void set_pgid(pid_t pgid) { m_pgid = pgid; }
|
||||||
pid_t pgid() const { return m_pgid; }
|
pid_t pgid() const { return m_pgid; }
|
||||||
|
|
||||||
Unix::termios& termios() { return m_termios; }
|
const Unix::termios& termios() const { return m_termios; }
|
||||||
|
void set_termios(const Unix::termios&);
|
||||||
bool should_generate_signals() const { return m_termios.c_lflag & ISIG; }
|
bool should_generate_signals() const { return m_termios.c_lflag & ISIG; }
|
||||||
bool should_echo_input() const { return m_termios.c_lflag & ECHO; }
|
bool should_echo_input() const { return m_termios.c_lflag & ECHO; }
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue