Author: Dieter Buerssner
Date: 07:36:35 08/23/03
Go up one level in this thread
On August 23, 2003 at 09:17:45, Tony Werten wrote: >On August 22, 2003 at 20:40:06, Dann Corbit wrote: > >>In C or C++, you need to turn ALL buffering OFF for standard in put and output. >> >>In C: >>setbuf(stdout, NULL); >>setbuf(stdin, NULL); >>setvbuf(stdout, NULL, _IONBF, 0); >>setvbuf(stdin, NULL, _IONBF, 0); >> >>In C++: >>cout.rdbuf()->setbuf(NULL,0); >>cin.rdbuf()->setbuf(NULL,0); >> >>Probably, that is the problem. I imagine that there is a way to turn off >>buffering completely in Delphi, but I am not terribly familiar with the >>language. > >This makes sense also because I started to have more problems when I started to >write more. I don't need to set stdout to unbuffered mode (I do need it for stdin). I also cannot see, why it should be needed. At points, where the engine wants, that the GUI sees what is written, it can (and must, if not set to unbuffered) flush stdout. It seems somehow, that writeln tries more than C streams. Perhaps it even closes and reopens the output handle in some situation behind the scenes? Are you sure, that the "exited unexpectadly" comes from the output pipe of the engine? I just browsed very fast over WB source. I don't understand much of it, but it seems to come from the input pipe of the engine. Regards, Dieter
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.