Return ID of new session in setsid.
This commit is contained in:
+2
-2
@@ -339,9 +339,9 @@ pub fn posix_getsid(pid: usize) -> Result<usize> {
|
||||
&[ProcCall::Getsid as u64, pid as u64],
|
||||
)
|
||||
}
|
||||
pub fn posix_setsid() -> Result<()> {
|
||||
pub fn posix_setsid() -> Result<u32> {
|
||||
this_proc_call(&mut [], CallFlags::empty(), &[ProcCall::Setsid as u64])?;
|
||||
Ok(())
|
||||
Ok(posix_getpid())
|
||||
}
|
||||
pub fn posix_nanosleep(rqtp: &TimeSpec, rmtp: &mut TimeSpec) -> Result<()> {
|
||||
wrapper(false, false, || syscall::nanosleep(rqtp, rmtp))?;
|
||||
|
||||
@@ -895,7 +895,7 @@ pub extern "C" fn setreuid(ruid: uid_t, euid: uid_t) -> c_int {
|
||||
/// See <https://pubs.opengroup.org/onlinepubs/9799919799/functions/setsid.html>.
|
||||
#[no_mangle]
|
||||
pub extern "C" fn setsid() -> pid_t {
|
||||
Sys::setsid().map(|()| 0).or_minus_one_errno()
|
||||
Sys::setsid().or_minus_one_errno()
|
||||
}
|
||||
|
||||
/// See <https://pubs.opengroup.org/onlinepubs/9799919799/functions/setuid.html>.
|
||||
|
||||
@@ -612,8 +612,8 @@ impl Pal for Sys {
|
||||
e_raw(unsafe { syscall!(SETRESUID, ruid, euid, suid) }).map(|_| ())
|
||||
}
|
||||
|
||||
fn setsid() -> Result<()> {
|
||||
e_raw(unsafe { syscall!(SETSID) }).map(|_| ())
|
||||
fn setsid() -> Result<c_int> {
|
||||
e_raw(unsafe { syscall!(SETSID) }).map(|s| s as c_int)
|
||||
}
|
||||
|
||||
fn symlink(path1: CStr, path2: CStr) -> Result<()> {
|
||||
|
||||
@@ -237,7 +237,7 @@ pub trait Pal {
|
||||
|
||||
fn setresuid(ruid: uid_t, euid: uid_t, suid: uid_t) -> Result<()>;
|
||||
|
||||
fn setsid() -> Result<()>;
|
||||
fn setsid() -> Result<c_int>;
|
||||
|
||||
fn symlink(path1: CStr, path2: CStr) -> Result<()>;
|
||||
|
||||
|
||||
@@ -890,9 +890,8 @@ impl Pal for Sys {
|
||||
Err(Errno(ENOSYS))
|
||||
}
|
||||
|
||||
fn setsid() -> Result<()> {
|
||||
redox_rt::sys::posix_setsid()?;
|
||||
Ok(())
|
||||
fn setsid() -> Result<c_int> {
|
||||
Ok(redox_rt::sys::posix_setsid()? as c_int)
|
||||
}
|
||||
|
||||
fn setresgid(rgid: gid_t, egid: gid_t, sgid: gid_t) -> Result<()> {
|
||||
|
||||
Reference in New Issue
Block a user