changeset 2704:bac0ea518d0f

6385747 Assertion failed: err == 0, file graph.c, line 2284
author rm88369
date Mon, 11 Sep 2006 02:43:48 -0700
parents 333cd67fe595
children a88063d9a249
files usr/src/cmd/svc/startd/graph.c
diffstat 1 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/svc/startd/graph.c	Sat Sep 09 12:20:02 2006 -0700
+++ b/usr/src/cmd/svc/startd/graph.c	Mon Sep 11 02:43:48 2006 -0700
@@ -2243,6 +2243,7 @@
 {
 	scf_handle_t *h;
 	depgroup_type_t deptype;
+	restarter_error_t rerr;
 	struct depfmri_info linfo;
 	char *fmri, *pg_name;
 	size_t fmri_sz;
@@ -2313,6 +2314,16 @@
 		return (info->err = EINVAL);
 	}
 
+	rerr = depgroup_read_restart(h, pg);
+	if (rerr == RERR_UNSUPPORTED) {
+		log_error(LOG_INFO,
+		    "Dependency \"%s\" of %s has an unknown restart_on value."
+		    "\n", pg_name, info->v->gv_name);
+		startd_free(fmri, fmri_sz);
+		startd_free(pg_name, max_scf_name_size);
+		return (info->err = EINVAL);
+	}
+
 	prop = safe_scf_property_create(h);
 
 	if (scf_pg_get_property(pg, SCF_PROPERTY_ENTITIES, prop) != 0) {
@@ -2340,7 +2351,7 @@
 
 	/* Create depgroup vertex for pg */
 	err = graph_insert_vertex_unconfigured(fmri, GVT_GROUP, deptype,
-	    depgroup_read_restart(h, pg), &depgrp);
+	    rerr, &depgrp);
 	assert(err == 0);
 	startd_free(fmri, fmri_sz);