summaryrefslogtreecommitdiffstats
path: root/instance.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-06-24 21:32:39 +0200
committerFelix Fietkau <nbd@openwrt.org>2012-06-24 21:32:39 +0200
commit2c6b282d4b4a22e511e8cced48263fd0bc9cc6da (patch)
tree8676f387bde84ac09326bc8960e537428349f714 /instance.c
parentb17d66a55a8ed4124d98f8c80e7a3b7122650c5a (diff)
downloadunitd-2c6b282d4b4a22e511e8cced48263fd0bc9cc6da.tar
unitd-2c6b282d4b4a22e511e8cced48263fd0bc9cc6da.zip
dump status info
Diffstat (limited to 'instance.c')
-rw-r--r--instance.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/instance.c b/instance.c
index c788f9d..41b9419 100644
--- a/instance.c
+++ b/instance.c
@@ -173,6 +173,7 @@ instance_config_move(struct service_instance *in, struct service_instance *in_sr
blobmsg_list_move(&in->env, &in_src->env);
blobmsg_list_move(&in->data, &in_src->data);
in->command = in_src->command;
+ in->name = in_src->name;
}
bool
@@ -202,6 +203,7 @@ instance_free(struct service_instance *in)
void
instance_init(struct service_instance *in, struct blob_attr *config)
{
+ in->name = blobmsg_name(config);
in->config = config;
in->timeout.cb = instance_timeout;
in->proc.cb = instance_exit;
@@ -210,3 +212,15 @@ instance_init(struct service_instance *in, struct blob_attr *config)
blobmsg_list_simple_init(&in->data);
in->valid = instance_config_parse(in);
}
+
+void instance_dump(struct blob_buf *b, struct service_instance *in)
+{
+ void *i;
+
+ i = blobmsg_open_table(b, in->name);
+ blobmsg_add_u8(b, "running", in->proc.pending);
+ if (in->proc.pending)
+ blobmsg_add_u32(b, "pid", in->proc.pid);
+ blobmsg_add_blob(b, in->command);
+ blobmsg_close_table(b, i);
+}