[ovs-dev] [PATCH v2 1/2] daemon-windows: Ability to handle windows service calls.
shettyg at nicira.com
Mon Feb 3 22:10:43 UTC 2014
On Fri, Jan 31, 2014 at 2:56 PM, Ben Pfaff <blp at nicira.com> wrote:
> On Tue, Jan 28, 2014 at 01:56:21PM -0800, Gurucharan Shetty wrote:
>> The following code does not add any users yet.
>> The visioned workflow that this piece of code should work with is:
>> * Create a windows service through a startup script with
>> a tool like 'sc'
>> ex: sc create ovsdb-server binpath=
>> "C:\openvswitch\usr\sbin\ovsdb-server.exe -vconsole:off
>> -vsyslog:off -vfile:info --remote=ptcp:6632:127.0.0.1 --log-file
>> --service-monitor --service"
>> * Start the service from the startup script.
>> ex: sc start ovsdb-server
>> * Terminate the service during shutdown process.
>> ex: sc stop ovsdb-server
>> * Abrupt termination will restart the service.
>> CC: Saurabh Shah <ssaurabh at vmware.com>
>> Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
>> Add the ability to be woken up during a poll_block() using CreateEvent()
>> and poll_fd_wait_event().
> I am happy with this, although I do not know Windows well enough to
> judge its overall correctness.
> It is probably (even more) confusing now to a newcomer how to use
> daemon.h. It would be nice to add a comment at the top explaining
> what's going on and outlining its use.
I am not sure how descriptive it needs to be. How about the following.
/* This file provides an interface for utilities to run in the background
* as daemons on POSIX platforms like Linux or as services on Windows platform.
* Some of the functionalities defined in this file are only applicable to
* POSIX platforms and some are applicable only on Windows. As such, the
* function definitions unique to each platform are separated out with
* ifdef macros. More descriptive comments on individual functions are provided
* in daemon.c (for Linux) and daemon-windows.c (for Windows).
* The DAEMON_OPTION_ENUMS, DAEMON_LONG_OPTIONS and DAEMON_OPTION_HANDLERS
* macros are useful for parsing command-line options in individual utilities.
* For e.g., the command-line option "--detach" is recognized on Linux
* and results in calling the set_detach() function. The same option is not
* recognized on Windows platform.
> In the manpage, I would capitalize Windows.
> Acked-by: Ben Pfaff <blp at nicira.com>
More information about the dev