I reckon your stdout is buffered. Try adding an fflush call after the second fputs.
On Sat, Feb 1, 2014 at 11:40 PM, Scott Weber <[email protected]> wrote: > I am using version 1.5. I can get the daemon to start, but there does not > appear to be any communication on stdin/stdout. > > Below are my settings, and a simple C example. I would expect this simple > code to log a message, then give me a reply of the config settings. However > nothing happens. > > Couch does restart the daemon if I change a config setting under > [os_daemons]. And the settings do appear in the config page of Futon. > > The example program does also exit when Couch closes the stdin connection, as > expected. > > > Any advice is appreciated. > > -Scott > > > CONFIG SETTINGS: > [log] > level = info > > [os_daemons] > > my_test = c:/path/nativeDaemon/debug/NativeDaemon.exe > > [my_test] > Value = 10,002 > OtherValue = The other value > > > > Actual C code (uses Windows Sleep, otherwise is agnostic) : > > > int main() { > char buffer[257]; > > LogMessage("\nSTART:", "Daemon Startup"); // My own log file to disk > Sleep(3000); > > fputs("[\"log\",{\"log\" : \"The process started\"}]\n",stdout); > fputs("[\"get\", \"os_daemons\"]\n",stdout); > > do { > fgets(buffer,256,stdin); > if (feof(stdin)) { > LogMessage("\nCLOSE:","Closed STDIN"); // This does exit when > expected > break; > } > > > // etc... into loop.
