diff options
author | Bruno Haible <bruno@clisp.org> | 2022-09-10 02:31:20 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2022-09-10 02:36:15 +0200 |
commit | 71b603702b8cf7977dedd5f6b71ea0ffc1669894 (patch) | |
tree | af6a7fa56a0b702ba82438efdbc5abf3e9479909 /doc/gnulib-readme.texi | |
parent | 36be0df632e8bc5ad7ccfe2745ed3254c95642d1 (diff) | |
download | gnulib-71b603702b8cf7977dedd5f6b71ea0ffc1669894.tar.gz |
posix_spawn-internal: Optimize DuplicateHandle calls on native Windows.
* lib/windows-spawn.h (DELAYED_DUP2_OLDFD, DELAYED_DUP2_NEWFD): New
macros.
(struct IHANDLE): Add a linked_fd field.
* lib/spawni.c (SPAWN_INTERNAL_OPTIMIZE_DUPLICATEHANDLE): New macro.
(do_delayed_dup2, do_remaining_delayed_dup2): New functions.
(close_inheritable_handles): Don't close handles in DELAYED_DUP2_NEWFD
entries.
(do_close): Add a third parameter. Optimize delayed dup2 calls.
(do_open): Use do_close.
(do_dup2): Likewise. Prepare for optimizing the DuplicateHandle call.
(__spawni): Do the remaining delayed dup2 invocations after the loop
over the actions.
Diffstat (limited to 'doc/gnulib-readme.texi')
0 files changed, 0 insertions, 0 deletions