mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:57:35 +00:00
Add a /dev/pts filesystem and make PTY allocation dynamic.
You can now open as many PTY pairs as you like. Well, it's actually capped at 8 for now, but it's just a constant and trivial to change. Unregistering a PTY pair is untested because I didn't want to start mucking with that in Terminal right now.
This commit is contained in:
parent
c30e2c8d44
commit
e9b948103d
12 changed files with 124 additions and 20 deletions
|
@ -14,7 +14,6 @@
|
|||
struct GlobalState {
|
||||
String cwd;
|
||||
String username;
|
||||
const char* ttyname_short { nullptr };
|
||||
char ttyname[32];
|
||||
char hostname[32];
|
||||
pid_t sid;
|
||||
|
@ -356,7 +355,7 @@ static void greeting()
|
|||
perror("uname");
|
||||
return;
|
||||
}
|
||||
printf("\n%s/%s on %s\n\n", uts.sysname, uts.machine, g->ttyname_short);
|
||||
printf("\n%s/%s on %s\n\n", uts.sysname, uts.machine, g->ttyname);
|
||||
}
|
||||
|
||||
int main(int, char**)
|
||||
|
@ -384,8 +383,7 @@ int main(int, char**)
|
|||
rc = ttyname_r(0, g->ttyname, sizeof(g->ttyname));
|
||||
if (rc < 0)
|
||||
perror("ttyname_r");
|
||||
else
|
||||
g->ttyname_short = strrchr(g->ttyname, '/') + 1;
|
||||
|
||||
{
|
||||
auto* pw = getpwuid(getuid());
|
||||
if (pw)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue