On Apr 20 16:21, Corinna Vinschen via Cygwin wrote: > On Apr 20 12:18, Bruno Haible via Cygwin wrote: > > The "inheritable handles" is a data structure that allows for the > > arbitrary reshuffling of file descriptors required by posix_spawn > > (the addopen, adddup2, addclose actions), i.e. which does the book- > > keeping which HANDLE must in the end be open in the parent and which > > must in the end be open in the child, and at which position. > > Hmm. Your code uses lpReserved2 for that, but the functionality is > one implemented in MSVCRT. For obvious reasons, Cygwin executables > are not linked against msvcrt.dll and we're using lpReserved2 for our > own purposes.
Oh, btw., did you know that there's a newer mechanism for defining specific inheritable handles to CreateProcess, which is implemented in kernel32.dll, so it does not depend on MSVCRT? There's a STARTUPINFOEX structure which allows to specify the additional handles. See https://learn.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-startupinfoexa and the PROC_THREAD_ATTRIBUTE_HANDLE_LIST argument described in https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-updateprocthreadattribute Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple