[Midnightbsd-cvs] src [7378] trunk/libexec/mport.create: wrap in a group
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sat Nov 28 21:59:07 EST 2015
Revision: 7378
http://svnweb.midnightbsd.org/src/?rev=7378
Author: laffer1
Date: 2015-11-28 21:59:07 -0500 (Sat, 28 Nov 2015)
Log Message:
-----------
wrap in a group
Modified Paths:
--------------
trunk/libexec/mport.create/Makefile
trunk/libexec/mport.create/mport.create.c
Modified: trunk/libexec/mport.create/Makefile
===================================================================
--- trunk/libexec/mport.create/Makefile 2015-11-29 02:58:17 UTC (rev 7377)
+++ trunk/libexec/mport.create/Makefile 2015-11-29 02:59:07 UTC (rev 7378)
@@ -1,11 +1,11 @@
PROG= mport.create
-CFLAGS+= -g -I${.CURDIR}/../../lib/libmport/
+CFLAGS+= -fblocks -I${.CURDIR}/../../lib/libmport/
WARNS?= 6
NO_MAN= yes
-LDADD= -lmport
-DPADD= ${LIBMPORT}
+LDADD= -lmport -ldispatch -lBlocksRuntime
+DPADD= ${LIBMPORT} ${LIBDISPATCH} ${LIBBLOCKSRUNTIME}
.include <bsd.prog.mk>
Modified: trunk/libexec/mport.create/mport.create.c
===================================================================
--- trunk/libexec/mport.create/mport.create.c 2015-11-29 02:58:17 UTC (rev 7377)
+++ trunk/libexec/mport.create/mport.create.c 2015-11-29 02:59:07 UTC (rev 7378)
@@ -48,6 +48,9 @@
{
int ch;
int plist_seen = 0;
+ dispatch_queue_t mainq = dispatch_get_main_queue();
+ dispatch_group_t grp = dispatch_group_create();
+ dispatch_queue_t q = dispatch_queue_create("print", NULL);
mportPackageMeta *pack = mport_pkgmeta_new();
mportCreateExtras *extra = mport_createextras_new();
mportAssetList *assetlist = mport_assetlist_new();
@@ -126,6 +129,7 @@
}
}
+dispatch_group_async(grp, q, ^{
check_for_required_args(pack, extra);
if (plist_seen == 0) {
warnx("Required arg missing: plist");
@@ -134,10 +138,16 @@
if (mport_create_primative(assetlist, pack, extra) != MPORT_OK) {
warnx("%s", mport_err_string());
- return 1;
+ exit(1);
}
-
- return 0;
+});
+
+ dispatch_group_wait(grp, DISPATCH_TIME_FOREVER);
+ dispatch_async(mainq, ^{
+ exit(0);
+ });
+
+ dispatch_main();
}
More information about the Midnightbsd-cvs
mailing list