[haiku-commits] Change in haiku[master]: POSIX: add tcsetsid()

  • From: Gerrit <review@xxxxxxxxxxxxxxxxxxx>
  • To: waddlesplash <waddlesplash@xxxxxxxxx>, haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 31 Oct 2020 16:36:44 +0000

From Jérôme Duval <jerome.duval@xxxxxxxxx>:

Jérôme Duval has uploaded this change for review. ( 
https://review.haiku-os.org/c/haiku/+/3375 ;)


Change subject: POSIX: add tcsetsid()
......................................................................

POSIX: add tcsetsid()
---
M headers/posix/termios.h
M src/system/libroot/posix/unistd/terminal.c
2 files changed, 13 insertions(+), 0 deletions(-)



  git pull ssh://git.haiku-os.org:22/haiku refs/changes/75/3375/1

diff --git a/headers/posix/termios.h b/headers/posix/termios.h
index e8ec244..0be1e3c 100644
--- a/headers/posix/termios.h
+++ b/headers/posix/termios.h
@@ -235,6 +235,7 @@
 extern int             tcflow(int fd, int action);
 extern int             tcflush(int fd, int queueSelector);
 extern pid_t   tcgetsid(int fd);
+extern int             tcsetsid(int fd, pid_t pid);

 #ifdef __cplusplus
 }
diff --git a/src/system/libroot/posix/unistd/terminal.c 
b/src/system/libroot/posix/unistd/terminal.c
index 8da25ab..547c240 100644
--- a/src/system/libroot/posix/unistd/terminal.c
+++ b/src/system/libroot/posix/unistd/terminal.c
@@ -73,3 +73,15 @@
        return -1;
 }

+
+int
+tcsetsid(int fd, pid_t pid)
+{
+       if (pid != getsid(0)) {
+               errno = EINVAL;
+               return -1;
+       }
+
+       return ioctl(fd, TIOCSCTTY, NULL);
+}
+

--
To view, visit https://review.haiku-os.org/c/haiku/+/3375
To unsubscribe, or for help writing mail filters, visit 
https://review.haiku-os.org/settings

Gerrit-Project: haiku
Gerrit-Branch: master
Gerrit-Change-Id: Iea349ccf8e27e88038a002665dd15b02b7ecba6a
Gerrit-Change-Number: 3375
Gerrit-PatchSet: 1
Gerrit-Owner: Jérôme Duval <jerome.duval@xxxxxxxxx>
Gerrit-MessageType: newchange

Other related posts: