Make zoneproxy to compile on OI 151
authorAndrzej Szeszo <aszeszo@gmail.com>
Wed, 01 Jun 2011 13:04:21 +0100
changeset 2389 30ea7b982e91
parent 2388 aa600f1de478
child 2391 90c532b69592
Make zoneproxy to compile on OI 151
src/zoneproxy/Makefile.constants
src/zoneproxy/zoneproxy-client/Makefile
src/zoneproxy/zoneproxyd/Makefile
src/zoneproxy/zoneproxyd/zoneproxyd.c
--- a/src/zoneproxy/Makefile.constants	Tue May 31 15:44:50 2011 +0100
+++ b/src/zoneproxy/Makefile.constants	Wed Jun 01 13:04:21 2011 +0100
@@ -36,8 +36,7 @@
 CPPFLAGS =	-D_REENTRANT -I../zoneproxyd 
 CFLAGS =	-errtags=yes -errwarn=%all -features=conststrings -xO4 \
 		-W0,-xglobalstatic -Xa -xc99=%none -xildoff -xspace
-LDFLAGS =	-Bdirect -zassert-deflib=libc.so -zassert-deflib=libsocket.so \
-		-zfatal-warnings -zguidance
+LDFLAGS =	-Bdirect -zfatal-warnings -zguidance
 LDLIBS =
 
 CLEANFILES=	$(PROG) $(OBJS)
--- a/src/zoneproxy/zoneproxy-client/Makefile	Tue May 31 15:44:50 2011 +0100
+++ b/src/zoneproxy/zoneproxy-client/Makefile	Wed Jun 01 13:04:21 2011 +0100
@@ -29,7 +29,6 @@
 
 LDLIBS 				= -lsocket
 CPPFLAGS +=     -mt -D_REENTRANT -D_FILE_OFFSET_BITS=64
-LDFLAGS +=      -zassert-deflib=libthread.so
 
 .KEEP_STATE:
 
--- a/src/zoneproxy/zoneproxyd/Makefile	Tue May 31 15:44:50 2011 +0100
+++ b/src/zoneproxy/zoneproxyd/Makefile	Wed Jun 01 13:04:21 2011 +0100
@@ -35,8 +35,6 @@
 
 LDLIBS +=	-lcontract -lsocket -lumem -lscf
 CPPFLAGS +=	-mt -D_REENTRANT -D_FILE_OFFSET_BITS=64
-LDFLAGS +=	-zassert-deflib=libthread.so -zassert-deflib=libcontract.so \
-		-zassert-deflib=libumem.so -zassert-deflib=libscf.so
 LINTFLAGS +=	-erroff=E_SEC_CREAT_WITHOUT_EXCL -U__PRAGMA_REDEFINE_EXTNAME
 
 .KEEP_STATE:
--- a/src/zoneproxy/zoneproxyd/zoneproxyd.c	Tue May 31 15:44:50 2011 +0100
+++ b/src/zoneproxy/zoneproxyd/zoneproxyd.c	Wed Jun 01 13:04:21 2011 +0100
@@ -1203,16 +1203,24 @@
 fattach_all_zones(boolean_t detach_only)
 {
 	zoneid_t *zids;
-	uint_t nzids;
+	uint_t nzids, nzids_last;
 	int i;
 
-	if (zone_get_zoneids(&zids, &nzids) != 0) {
-		(void) fprintf(stderr, "Could not get list of zones");
-		return;
-	}
+again:
+	(void) zone_list(NULL, &nzids);
+	nzids_last = nzids;
+	zids = (zoneid_t *)malloc(sizeof (zoneid_t) * nzids_last);
+	if (zids == NULL)
+		(void) fprintf(stderr, "Out of memory");
 
+	(void) zone_list(zids, &nzids);
+	if (nzids > nzids_last) {
+		free(zids);
+		goto again;
+    }
 	for (i = 0; i < nzids; i++)
 		zpd_fattach_zone(zids[i], g_door, detach_only);
+
 	free(zids);
 }