diff --git a/rtl/bsd/bunxsysc.inc b/rtl/bsd/bunxsysc.inc index a513934900..86d762136b 100644 --- a/rtl/bsd/bunxsysc.inc +++ b/rtl/bsd/bunxsysc.inc @@ -306,6 +306,12 @@ begin FPsetsid:=do_syscall(syscall_nr_setsid); end; +function fpgetsid (pid:TPid): pid_t; + +begin + fpgetsid:=do_syscall(syscall_nr_getsid,TSysParam(pid)); +end; + Function FPumask(cmask:mode_t):mode_t; { Sets file creation mask to (Mask and 0777 (octal) ), and returns the diff --git a/rtl/freebsd/sysnr.inc b/rtl/freebsd/sysnr.inc index 720e8f67d0..b74101a2fb 100644 --- a/rtl/freebsd/sysnr.inc +++ b/rtl/freebsd/sysnr.inc @@ -127,5 +127,6 @@ const syscall_nr_kse_switchin = 440; syscall_nr_getrlimit = 194; syscall_nr_setrlimit = 195; + syscall_nr_getsid = 310; diff --git a/rtl/linux/bunxsysc.inc b/rtl/linux/bunxsysc.inc index 3ee634665f..4e887e35d2 100644 --- a/rtl/linux/bunxsysc.inc +++ b/rtl/linux/bunxsysc.inc @@ -306,6 +306,12 @@ begin fpsetsid:=do_syscall(syscall_nr_setsid); end; +function fpgetsid (pid:TPid): pid_t; + +begin + fpgetsid:=do_syscall(syscall_nr_getsid,pid); +end; + Function fpumask(cmask:mode_t):mode_t; { Sets file creation mask to (Mask and 0777 (octal) ), and returns the diff --git a/rtl/unix/bunxh.inc b/rtl/unix/bunxh.inc index 845fa4d09c..8e7409e299 100644 --- a/rtl/unix/bunxh.inc +++ b/rtl/unix/bunxh.inc @@ -52,6 +52,7 @@ Type TGrpArr = Array [0..0] of TGid; { C style array workarounds} Function FpGetgroups (gidsetsize : cInt; var grouplist : tgrparr): cInt; Function FpGetpgrp : TPid; Function FpSetsid : TPid; + Function FpGetsid (pid:TPid) : TPid; Function FpFcntl (fildes : cInt; cmd : cInt): cInt; Function FpFcntl (fildes : cInt; cmd : cInt; arg : cInt): cInt; Function FpFcntl (fildes : cInt; cmd : cInt; var arg : flock): cInt; diff --git a/rtl/unix/oscdeclh.inc b/rtl/unix/oscdeclh.inc index e8842f46ba..ebd47766d1 100644 --- a/rtl/unix/oscdeclh.inc +++ b/rtl/unix/oscdeclh.inc @@ -107,6 +107,8 @@ const Function FpGetgroups (gidsetsize : cInt; var grouplist : tgrparr):cint; cdecl;external clib name 'getgroups'; Function FpGetpgrp : TPid; cdecl;external clib name 'getpgrp'; Function FpSetsid : TPid; cdecl;external clib name 'setsid'; + Function FpGetsid (pid:TPid) : TPid; cdecl; external clib name 'getsid'; + Function FpPipe (var fildes : tfildes):cInt; cdecl;external clib name 'pipe'; { The libc version has "..." as third parameter -> wrap for } { interface compatibility with syscalls }