initscript: pass complete path to pidfile to status command
[sliver-openvswitch.git] / lib / unixctl.c
index 17bd6cb..164a7db 100644 (file)
@@ -168,7 +168,7 @@ unixctl_command_reply(struct unixctl_conn *conn,
  * A program that (optionally) daemonizes itself should call this function
  * *after* daemonization, so that the socket name contains the pid of the
  * daemon instead of the pid of the program that exited.  (Otherwise,
- * "ovs-appctl --target <program>.pid" will fail.)
+ * "ovs-appctl --target=<program>" will fail.)
  *
  * Returns 0 if successful, otherwise a positive errno value.  If successful,
  * sets '*serverp' to the new unixctl_server, otherwise to NULL. */
@@ -438,8 +438,7 @@ unixctl_server_destroy(struct unixctl_server *server)
         }
 
         close(server->fd);
-        unlink(server->path);
-        fatal_signal_remove_file_to_unlink(server->path);
+        fatal_signal_unlink_file_now(server->path);
         free(server->path);
         free(server);
     }
@@ -504,8 +503,7 @@ void
 unixctl_client_destroy(struct unixctl_client *client)
 {
     if (client) {
-        unlink(client->bind_path);
-        fatal_signal_remove_file_to_unlink(client->bind_path);
+        fatal_signal_unlink_file_now(client->bind_path);
         free(client->bind_path);
         free(client->connect_path);
         fclose(client->stream);
@@ -553,7 +551,9 @@ unixctl_client_transact(struct unixctl_client *client,
 
         s = ds_cstr(&line);
         if (*reply_code == -1) {
-            if (!isdigit(s[0]) || !isdigit(s[1]) || !isdigit(s[2])) {
+            if (!isdigit((unsigned char)s[0])
+                    || !isdigit((unsigned char)s[1])
+                    || !isdigit((unsigned char)s[2])) {
                 VLOG_WARN("reply from %s does not start with 3-digit code",
                           client->connect_path);
                 error = EPROTO;