1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
|
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
|
-
+
|
static DWORD WINAPI
ConsoleReaderThread(
LPVOID arg)
{
ConsoleInfo *infoPtr = (ConsoleInfo *)arg;
HANDLE *handle = infoPtr->handle;
DWORD count, waitResult;
DWORD waitResult;
HANDLE wEvents[2];
/* The first event takes precedence. */
wEvents[0] = infoPtr->stopReader;
wEvents[1] = infoPtr->startReader;
for (;;) {
|
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
|
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
|
-
-
|
* The start event was not signaled. It must be the stop event or
* an error, so exit this thread.
*/
break;
}
count = 0;
/*
* Look for data on the console, but first ignore any events that are
* not KEY_EVENTs.
*/
if (readConsoleBytes(handle, infoPtr->buffer, CONSOLE_BUFFER_SIZE,
(LPDWORD) &infoPtr->bytesRead) != FALSE) {
|