http://bugs.winehq.org/show_bug.cgi?id=24306
Summary: kernel/console: no more EOF handling. Product: Wine Version: 1.3.2 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wineserver AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net CC: eric.pouech@orange.fr
Hi,
^D (^Z in native) used to be able to end the session with my interactive MCI shell (bug #20232, comment #9). What it does is:
HANDLE hin = GetStdHandle(STD_INPUT_HANDLE); ret = ReadFile(hin, inbuf, sizeof(inbuf)/sizeof(inbuf[0])-1, &received, NULL); if(!ret || !received) break;
^D signals EOF in UNIX (more precisely, it immediately returns the pending read(), which is interpreted as EOF when there is no more input on the line). ^Z is EOF in MS-Windows, since MS-DOS times.
Presumably since Eric Pouech's console patches, EOF is not recognized and I must ^C the program.
BTW, native's ^Z handling differs among versions. In win95, ^Z immediately sends an EOF to the app; since w2k you need ^Z + Return.
^Z is not honoured in Wine (after using "stty susp ^y").
Alternatively instead of wine mcishell.exe, using ^C in an mcishell started inside "wine cmd" yields: ^Cfixme:console:CONSOLE_DefaultHandler Terminating process 8 on event 0 fixme:console:CONSOLE_DefaultHandler Terminating process 1c on event 0 err:console:WCEL_Get hmm bad situation mci.c:1376hoehle:~/Bugs$ : GetLastError: 0 <= that's from mcishell, so it was not aborted!?! ^^^^^^^^^^^^^^ bash prompt gets in between mcishell: 2 tests executed (0 marked as todo, 1 fai <= nothing more
I just noticed console error #2: wine wineconsole cmd (as the usage() text says) opens a virtual desktop but no console window appears. That desktop window cannot be activated. Clicking the close button produces Wine's "kill app" requester after a couple of seconds. Accepting yields a mini backtrace in the terminal: 0x9d50fd0:1: Fd unix_fd=71 user=0x9db3320 options=00000020 0x9db3320:1: Console screen buffer input=0x9d53fe0 0x9d50f10:1: Fd unix_fd=65 user=0x9d53fe0 options=00000020 0x9d598a0:1: Event manual=1 signaled=0 name="" 0x9d53fe0:1: Console input active=0x9db3320 evt=(nil) That does not look like a typical backtrace from Wine. Ah, it's from server/{event,console}.c I should probably open a separate bug report for that one.
I'm using Ubuntu Intrepid.