Changes between Initial Version and Version 1 of Ticket #280, comment 2


Ignore:
Timestamp:
Nov 22, 2017, 10:58:20 AM (6 years ago)
Author:
dmik
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #280, comment 2

    initial v1  
    1 BTW, although Windows has the same spawn logic as OS/2, such a problem doesn't exist here because it was solved inside their `CreateProcess` that may take handles to be assigned as std I/O in the child. And while we can do something similar by providing a special implementation of `spawn` (that would effectively do `dup(); spawn(P_NOWAIT); dup()`) in e.g. LIBCx and export this function to Python instead of exposing `DosEnterCritSec`, I'm not convinced so far that it's worth doing as there might be other program logic besides `dup; spawn; dup` that needs protection.
     1BTW, although Windows has the same spawn logic as OS/2, such a problem doesn't exist there because it was solved inside their `CreateProcess` that may take handles to be assigned as std I/O in the child. And while we can do something similar by providing a special implementation of `spawn` (that would effectively do `dup(); spawn(P_NOWAIT); dup()`) in e.g. LIBCx and export this function to Python instead of exposing `DosEnterCritSec`, I'm not convinced so far that it's worth doing as there might be other program logic besides `dup; spawn; dup` that needs protection.