simulate line-buffering when reading command lines from the pipe
simulate line-buffering when reading command lines from the pipe

this is required to avoid commands being cut at the WRONG place when the program writing to the pipe is slow.

note: there is still no "semicolon-buffering", ie., a long command line (even with many short, semicolon-separated commands) is likely to be cut at the WRONG place. however, this can be used to guarantee that a certain list of commands will be put into the engine's command buffer atomically.

DaemonEngine/Daemon,DaemonEngine/Daemon,DaemonEngine/Daemon,DaemonEngine/Daemon