mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
hurd: Respect existing FD_CLOEXEC in S_msg_set_fd
If the process has set the close-on-exec flag for the file descriptor, it expects the file descriptor to get closed on exec, even if we replace what the file descriptor refers to. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com> Message-Id: <20230429131354.2507443-6-bugaevc@gmail.com>
This commit is contained in:
parent
0e12519fe0
commit
89f1e04174
@ -323,7 +323,13 @@ _S_msg_set_fd (mach_port_t msgport, mach_port_t auth,
|
||||
AUTHCHECK;
|
||||
|
||||
/* We consume the reference if successful. */
|
||||
err = HURD_FD_USE (which, (_hurd_port2fd (descriptor, port, 0), 0));
|
||||
err = HURD_FD_USE (which,
|
||||
({
|
||||
int flags = (descriptor->flags & FD_CLOEXEC)
|
||||
? O_CLOEXEC : 0;
|
||||
_hurd_port2fd (descriptor, port, flags);
|
||||
0;
|
||||
}));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user