couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Davis <paul.joseph.da...@gmail.com>
Subject Re: Cannot get os_daemon api to function
Date Mon, 03 Feb 2014 06:21:48 GMT
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 <scotty2541@sbcglobal.net> 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.

Mime
View raw message