Set control_socket_open false when closing the socket.
[oweals/dinit.git] / README.md
index 0af6a16230ffa78270b8752e0fc5bfe12d9d789b..579d08f8faccdd19bc5349cca34d4371621b1dc1 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # Dinit
-v0.3.0 (pre-release)
+v0.4.0 (pre-release)
 
 This is the README for Dinit, the service manager and init system. It is
 intended to provide an overview; For full documentation please check the manual pages. 
@@ -36,7 +36,10 @@ down and restarting the system.
 
 Dinit is designed to work on POSIXy operating systems such as Linux and
 OpenBSD. It is written in C++ and uses the [Dasynq](http://davmac.org/projects/dasynq/)
-event handling library, which was written especially to support Dinit.
+event handling library, which was written especially to support Dinit. (Note
+that a copy of Dasynq is bundled with Dinit, so a separate copy is not
+required for compilation; however, the bundled copy does not include the
+documentation or test suite).
 
 Development goals include clean design, robustness, portability, and
 avoiding feature bloat (whilst still handling a variety of use cases).
@@ -49,7 +52,7 @@ license can be found in the LICENSE file.
 
 Dinit was written by Davin McCall <davmac@davmac.org>.
 
-See BUILD for information on how to build Dinit.
+See BUILD.txt for information on how to build Dinit.
 
 
 ## Configuring services
@@ -62,17 +65,17 @@ and a _scripted_ service (which is started and stopped by running a process -
 often a shell script - to completion). There are also _bgprocess_ services
 and _internal_ services.
 
-Many programs that you might want to run under dinit's supervision can run
+Many programs that you might want to run under Dinit's supervision can run
 either "in the foreground" or as a daemon ("in the background"), and the
 choice is dictated by a command line switch (for instance the -D and -F
 switches to Samba's "smbd"). Although it might seem counterintuitive,
 the "foreground" mode should be used for programs registered as process
-services in dinit; this allows dinit to monitor the process.
+services in Dinit; this allows Dinit to monitor the process.
 
 Process services are attractive due to the ease of monitoring (and
 restarting) the service, however, they have one inherent problem, which is
-that dinit cannot tell when the service is truly started. Once the process
-has been launched, dinit assumes that the service has started, but in fact
+that Dinit cannot tell when the service is truly started. Once the process
+has been launched, Dinit assumes that the service has started, but in fact
 there will be a short delay before the process sets itself up, starts
 listening on sockets, etc; during this time any other process (including
 one from a service listed as dependent) which tries to contact it will not
@@ -110,6 +113,9 @@ reside in a directory (/etc/dinit.d is the default "system" location, with
 matches the name of the service. Service descriptions are loaded lazily, as
 needed by Dinit.
 
+(An example of a complete set of system service descriptions can be found in
+the [doc/linux/services](doc/linux/services) directory).
+
 A service description file consists of a number of parameter settings.
 Settings in the SDF are denoted as a parameter name followed by either an
 equal sign or colon and then the parameter value (all on the same line).
@@ -267,7 +273,7 @@ no dependencies which were started automatically will be left running.
 
 ### Using dinitctl
 
-You can use the "dinitctl" to start and stop services. Typical invocations
+You can use the "dinitctl" utility to start and stop services. Typical invocations
 are:
 
     dinitctl start <service-name>
@@ -281,7 +287,7 @@ command by default acts as a "release" which also forces the service to stop
 (although it may then immediately restart, depending on how it and its
 dependents are configured).
 
-Use the "-s" switch to talk the "system" instance of dinit, rather than a
+Use the "-s" switch to talk the "system" instance of Dinit, rather than a
 personal instance, e.g:
 
     dinitctl -s start mysql   # start system mysql service