1
Fork 0
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:
Andreas Kling 2019-01-30 00:49:20 +01:00
parent c30e2c8d44
commit e9b948103d
12 changed files with 124 additions and 20 deletions

View file

@ -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)