system/popen: remove O_CLOEXEC if mode exinclude 'e'

refs: https://man7.org/linux/man-pages/man3/popen.3.html

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
This commit is contained in:
dongjiuzhu1 2023-10-24 13:40:07 +08:00 committed by Xiang Xiao
parent cc66e34fbf
commit e61ff51e67

View File

@ -320,6 +320,11 @@ FILE *popen(FAR const char *command, FAR const char *mode)
posix_spawn_file_actions_destroy(&file_actions);
posix_spawnattr_destroy(&attr);
if (strchr(mode, 'e') == NULL)
{
fcntl(retfd, F_SETFD, 0);
}
/* Finale and return input input/output stream */
memcpy(&container->copy, container->original, sizeof(FILE));