Date: Sun, 21 Nov 2010 06:15:34 -0800 From: Garrett Cooper <gcooper@FreeBSD.org> To: Stephen McKay <mckay@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r215615 - head/usr.bin/xargs Message-ID: <AANLkTinPd1mQyZoFOU0mDqeTDwz%2B94NBpWA%2BM8uFzyn8@mail.gmail.com> In-Reply-To: <201011211055.oALAtG0q052310@svn.freebsd.org> References: <201011211055.oALAtG0q052310@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--0016e6567d28e22592049590c565 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Sun, Nov 21, 2010 at 2:55 AM, Stephen McKay <mckay@freebsd.org> wrote: > Author: mckay > Date: Sun Nov 21 10:55:16 2010 > New Revision: 215615 > URL: http://svn.freebsd.org/changeset/base/215615 > > Log: > =A0xargs can be fooled by exiting children that it did not start, causing > =A0it to kick off a new command before the previous has finished, resulti= ng > =A0in corrupted (interleaved) output. =A0It is also fooled by non-exiting > =A0children it did not start, failing to exit until all extraneous childr= en > =A0have exited. > > =A0This patch makes xargs keep track of children it starts, ignoring > =A0pre-existing ones. Unfortunately this broke tinderbox and compile on HEAD. Could you please commit the following patch that fixes the compile and a handful of style(9) violations in the new code? Thanks! -Garrett --0016e6567d28e22592049590c565 Content-Type: text/x-patch; charset=US-ASCII; name="xargs-fix-style.patch" Content-Disposition: attachment; filename="xargs-fix-style.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ggs0fa5d0 SW5kZXg6IHVzci5iaW4veGFyZ3MveGFyZ3MuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB1c3IuYmluL3hhcmdz L3hhcmdzLmMJKHJldmlzaW9uIDIxNTYzNikKKysrIHVzci5iaW4veGFyZ3MveGFyZ3MuYwkod29y a2luZyBjb3B5KQpAQCAtNTg2LDE0ICs1ODYsMTQgQEAKIAogCWlmIChwaWRzX2VtcHR5KCkpIHsK IAkJZXJybm8gPSBFQ0hJTEQ7Ci0JCXJldHVybiAtMTsKKwkJcmV0dXJuICgtMSk7CiAJfQogCiAJ d2hpbGUgKChwaWQgPSB3YWl0cGlkKC0xLCBzdGF0dXMsIGJsb2NrID8gMCA6IFdOT0hBTkcpKSA+ IDApCiAJCWlmIChwaWRzX3JlbW92ZShwaWQpKQogCQkJYnJlYWs7CiAKLQlyZXR1cm4gcGlkOwor CXJldHVybiAocGlkKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTYyNSwyNyArNjI1LDI3IEBACiAj ZGVmaW5lCU5PUElECSgwKQogCiBzdGF0aWMgdm9pZAotcGlkc19pbml0KCkKK3BpZHNfaW5pdCh2 b2lkKQogewogCWludCBpOwogCiAJaWYgKChjaGlsZHBpZHMgPSBtYWxsb2MobWF4cHJvY3MgKiBz aXplb2YoKmNoaWxkcGlkcykpKSA9PSBOVUxMKQotCSAgICBlcnJ4KDEsICJtYWxsb2MgZmFpbGVk Iik7CisJCWVycngoMSwgIm1hbGxvYyBmYWlsZWQiKTsKIAogCWZvciAoaSA9IDA7IGkgPCBtYXhw cm9jczsgaSsrKQogCQljbGVhcnNsb3QoaSk7CiB9CiAKIHN0YXRpYyBpbnQKLXBpZHNfZW1wdHko KQorcGlkc19lbXB0eSh2b2lkKQogewotCXJldHVybiBjdXJwcm9jcyA9PSAwOworCXJldHVybiAo Y3VycHJvY3MgPT0gMCk7CiB9CiAKIHN0YXRpYyBpbnQKLXBpZHNfZnVsbCgpCitwaWRzX2Z1bGwo dm9pZCkKIHsKLQlyZXR1cm4gY3VycHJvY3MgPj0gbWF4cHJvY3M7CisJcmV0dXJuIChjdXJwcm9j cyA+PSBtYXhwcm9jcyk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC02NjQsMjIgKzY2NCwyMiBAQAog CWludCBzbG90OwogCiAJaWYgKChzbG90ID0gZmluZHNsb3QocGlkKSkgPCAwKQotCSAgICByZXR1 cm4gMDsKKwkJcmV0dXJuICgwKTsKIAogCWNsZWFyc2xvdChzbG90KTsKIAljdXJwcm9jcy0tOwot CXJldHVybiAxOworCXJldHVybiAoMSk7CiB9CiAKIHN0YXRpYyBpbnQKLWZpbmRmcmVlc2xvdCgp CitmaW5kZnJlZXNsb3Qodm9pZCkKIHsKIAlpbnQgc2xvdDsKIAogCWlmICgoc2xvdCA9IGZpbmRz bG90KE5PUElEKSkgPCAwKQogCQllcnJ4KDEsICJpbnRlcm5hbCBlcnJvcjogbm8gZnJlZSBwaWQg c2xvdCIpOwogCi0JcmV0dXJuIHNsb3Q7CisJcmV0dXJuIChzbG90KTsKIH0KIAogc3RhdGljIGlu dApAQCAtNjg5LDkgKzY4OSw5IEBACiAKIAlmb3IgKHNsb3QgPSAwOyBzbG90IDwgbWF4cHJvY3M7 IHNsb3QrKykKIAkJaWYgKGNoaWxkcGlkc1tzbG90XSA9PSBwaWQpCi0JCQlyZXR1cm4gc2xvdDsK KwkJCXJldHVybiAoc2xvdCk7CiAKLQlyZXR1cm4gLTE7CisJcmV0dXJuICgtMSk7CiB9CiAKIHN0 YXRpYyB2b2lkCg== --0016e6567d28e22592049590c565--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTinPd1mQyZoFOU0mDqeTDwz%2B94NBpWA%2BM8uFzyn8>