From: MARSHALL K. <Kei...@to...> - 2004-03-25 13:28:29
|
Olaf Flebbe wrote: > How do I signal EOF to a mingw process? Normaly it would be typing ^Z (and maybe > RETURN to flush). Unfortunatly ^Z is the suspend char in msys. In msys it would > be ^D (as default in most unix environent). > > I see no way to see the final exclamation mark. (Caution: the process can only > terminated with kill -9 afterwards!!) > ------- > #include <stdio.h> > > > main() { > int ch; > > do { > ch = fgetc( stdin); > } while (ch != EOF); > printf("!\n"); > } > --------- > > As a workaround Is there a way to redefine the suspend char in msys, > since there is no stty ? This is a long standing issue, which I reported myself, several months ago. Although I have never had a direct response, I understand that it is a consequence of broken pty emulation in the MSYS implementation of RXVT, which Earnie has on his list of things requiring attention. The best work around I have discovered is to disable the use of RXVT when you start MSYS -- either remove rxvt.exe from the MSYS /bin directory, or apply the patch I suggested a couple of weeks ago. If you do this, you will get an MSYS shell running in a native Windows console, and ^Z becomes the EOF signal -- you need the ^Z at the start of a new line, followed immediately by <RETURN>. The above code should behave as expected, when run from this shell. Does MSYS actually support job control? I wasn't aware that it did, and have never seen any effect, when hitting ^Z in the MSYS RXVT. HTH. Regards, Keith. |
From: Olaf F. <o.f...@sc...> - 2004-03-25 13:41:17
|
Hi, > ago. If you do this, you will get an MSYS shell running in a > native Windows console, and ^Z becomes the EOF signal -- you need Ah! That did it for me. thanks. > Does MSYS actually support job control? I wasn't aware that it did, > and have never seen any effect, when hitting ^Z in the MSYS RXVT. Oh yes, you can suspend the msys vi for instance (in rxvt, of course) Olaf -- ________________________________creating IT solutions Dr. Olaf Flebbe science + computing ag Leiter Softwareentwicklung Hagellocher Weg 71-75 phone +49 7071 9457 254 72070 Tuebingen, Germany fax +49 7071 9457 511 www.science-computing.de ________________________________events | conferences Challenge Linux | 03.-04.05.04 | Mainz http://www.science-computing.de/veranstaltungen |
From: Olaf F. <o.f...@sc...> - 2004-03-25 16:44:51
|
> Hi, > >> ago. If you do this, you will get an MSYS shell running in a >> native Windows console, and ^Z becomes the EOF signal -- you need > > Setting the suspend char to ^X helps, too: Remember to compile it within the msysDVLPR environment, though. ---------------- #include <sys/termios.h> #include <stdio.h> main() { struct termios ts; if (0!= tcgetattr( 0, &ts)) { perror("tcgetattr"); } ts.c_cc[ VSUSP] = 24; /* ^X */ if (0!= tcsetattr( 0, 0, &ts)) { perror("tcsetattr"); } } ----------------- Earnie, are you considering to change the default DSUSP char or do you like to bundle a stty command with future versions of msys? Olaf -- ________________________________creating IT solutions Dr. Olaf Flebbe science + computing ag Leiter Softwareentwicklung Hagellocher Weg 71-75 phone +49 7071 9457 254 72070 Tuebingen, Germany fax +49 7071 9457 511 www.science-computing.de ________________________________events | conferences Challenge Linux | 03.-04.05.04 | Mainz http://www.science-computing.de/veranstaltungen |
From: Earnie B. <ea...@us...> - 2004-03-27 16:00:47
|
Olaf Flebbe wrote: > Earnie, are you considering to change the default DSUSP char or do you > like to bundle a stty command with future versions of msys? I will consider to add stty to the list of provided executables for MSYS. Please open an RFE to remind me to do that. Thanks, Earnie -- http://www.mingw.org http://sourceforge.net/projects/mingw https://sourceforge.net/donate/index.php?user_id=15438 |