mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +00:00
Fix Windows stdin regression
The non-blocking standard input feature was broken by ec957491e
.
This commit is contained in:
parent
7e08a97cea
commit
b9eb656e41
4 changed files with 19 additions and 7 deletions
|
@ -135,8 +135,8 @@ dontasan dontubsan dontinstrument textwindows void WinMainStdin(void) {
|
|||
NTTRACE("<stdin> CreateThread failed");
|
||||
return;
|
||||
}
|
||||
g_fds.stdin.thread = hStdin;
|
||||
g_fds.stdin.handle = hThread;
|
||||
g_fds.stdin.handle = hStdin;
|
||||
g_fds.stdin.thread = hThread;
|
||||
g_fds.stdin.reader = hReader;
|
||||
g_fds.stdin.writer = hWriter;
|
||||
g_fds.stdin.inisem = hSemaphore;
|
||||
|
|
|
@ -330,7 +330,7 @@ privileged long kloghandle(void) {
|
|||
kNtDuplicateSameAccess);
|
||||
} else if (n && n < 512) {
|
||||
hand = __imp_CreateFileW(
|
||||
path, kNtGenericWrite | kNtFileAppendData,
|
||||
path, kNtFileAppendData,
|
||||
kNtFileShareRead | kNtFileShareWrite | kNtFileShareDelete,
|
||||
&kNtIsInheritable, kNtOpenAlways, kNtFileAttributeNormal, 0);
|
||||
} else {
|
||||
|
|
|
@ -202,15 +202,15 @@ __msabi textwindows int64_t WinMain(int64_t hInstance, int64_t hPrevInstance,
|
|||
kStartTsc = rdtsc();
|
||||
__umask = 077;
|
||||
__pid = __imp_GetCurrentProcessId();
|
||||
DeduplicateStdioHandles();
|
||||
if (_weaken(WinMainStdin)) {
|
||||
_weaken(WinMainStdin)();
|
||||
}
|
||||
cmdline = MyCommandLine();
|
||||
#ifdef SYSDEBUG
|
||||
// sloppy flag-only check for early initialization
|
||||
if (__strstr16(cmdline, u"--strace")) ++__strace;
|
||||
#endif
|
||||
DeduplicateStdioHandles();
|
||||
if (_weaken(WinMainStdin)) {
|
||||
_weaken(WinMainStdin)();
|
||||
}
|
||||
if (_weaken(WinSockInit)) {
|
||||
_weaken(WinSockInit)();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue