mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-13 03:22:30 +03: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:
committed by
Samuel Thibault
parent
0e12519fe0
commit
89f1e04174
@@ -323,7 +323,13 @@ _S_msg_set_fd (mach_port_t msgport, mach_port_t auth,
|
|||||||
AUTHCHECK;
|
AUTHCHECK;
|
||||||
|
|
||||||
/* We consume the reference if successful. */
|
/* 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)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user