--- 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);
}