From: Henry N. <Hen...@Ar...> - 2008-05-10 22:01:13
|
Paolo Minazzi wrote: > Hi Henry, > I added the lines you said me. > I realize that during NO OUTPUT, I see continuosly the message > "GetNumberOfConsoleInputEvent nothing", that is OK. > When I launch my program that exec > > for (i=1 to 10000) printf("X"); > > I dont' see anything in the daemon-debug window ... I don't see > "GetNumberOfConsoleInputEvent nothing". > When the for cycle ends, The message "GetNumberOfConsoleInputEvent > nothing" appears continuosly. Ok. I found some in src/colinux/os/winnt/user/reactor.c:60 In "packet_read_async" it's loop without return on continues data stream. An idea would be to remove the "while (TRUE)" and let it stop after every ReadFile. Than the loops in console code can poll for keyboard. The negative side effect would be, that some other daemons goes slower. But perhaps this is alos better for other bidirectional pipes? A mix between performance and as workarround we can do this: =================================================================== --- src/colinux/os/winnt/user/reactor.c (Revision 1038) +++ src/colinux/os/winnt/user/reactor.c (Arbeitskopie) @@ -61,8 +61,9 @@ { BOOL result; DWORD error; + int loop; - while (TRUE) { + for (loop = 1000; loop; loop--) { result = ReadFile(handle->rhandle, &handle->buffer, sizeof(handle->buffer), ======== > So I decide to add two other co_debug. PS: Your source was very globbered. -- Henry N. |