Re: [PATCH v2 7/8] Use posix_spawn to run external scripts
Ladislav Michl <[email protected]> Fri, 24 Jan 2020 10:06:53 +0100
| Newsgroups | gmane.linux.drivers.gnokii |
|---|---|
| Message-ID | <20200124090653.GA24336@lenoch> |
T24gRnJpLCBKYW4gMjQsIDIwMjAgYXQgMDk6NDg6MjVBTSArMDEwMCwgUGF3ZWwgS290IHdyb3Rl Ogo+IEhpLAo+IAo+IE9uIFRodSwgSmFuIDIzLCAyMDIwIGF0IDI6MDIgQU0gTGFkaXNsYXYgTWlj aGwgPGxhZGlzQGxpbnV4LW1pcHMub3JnPiB3cm90ZToKPiA+Cj4gPiBPbiBNb24sIEphbiAyMCwg MjAyMCBhdCAwMTowNzozNVBNICswMTAwLCBQYXdlbCBLb3Qgd3JvdGU6Cj4gPiA+IE9uIE1vbiwg SmFuIDIwLCAyMDIwIGF0IDk6NDAgQU0gTGFkaXNsYXYgTWljaGwgPGxhZGlzQGxpbnV4LW1pcHMu b3JnPgo+IHdyb3RlOgo+ID4gPiA+IC4uLiBBbHRlcm5hdGl2ZWx5IEkgY2FuIHR1cm4gaXQgaW50 byBwcm9wZXIgZGV2aWNlIHBsdWdpbgo+IGFyY2hpdGVjdHVyZS4KPiA+ID4gPiBJcyB0aGF0IHlv dXIgcHJlZmVycmVkIHdheSB0byBnbz8gKHdoaWxlIGRvaW5nIHRoYXQgSSB3b3VsZCBhbHNvIGFk ZAo+ID4gPiA+IHN1cHBvcnQgZm9yIGV4dGVybmFsIGV2ZW4gbG9vcHMpCj4gPiA+Cj4gPiA+IFll cywgaWYgd2UncmUgZ29pbmcgdG8gY2hhbmdlIHRoYXQgbGV0J3MgZG8gaXQgaW4gYSBwcm9wZXIg d2F5LiBIYXBweSB0bwo+ID4gPiBkaXNjdXNzIG9uIElSQyBzb21ldGltZS4KPiA+Cj4gPiBZb3Vy IElSQyBjb25uZWN0aW9uIGlzIHVuc3RhYmxlIGJleW9uZCBiZWluZyB1c2VmdWxsIGZvciBhbnkg ZGlzY3Vzc2lvbgo+IDstKQo+IAo+IEknbSB0cmF2ZWxsaW5nIGEgbG90IGR1cmluZyBhIHdlZWsu IFdlZWtlbmRzIGFyZSBtb3JlIHBlYWNlZnVsIDopCj4gCj4gPiBTbyBoZXJlIGlzIGEgcXVpY2sg ZHJhZnQsIHBhdGNoIGlzIGJhc2VkIG9uIGFub3RoZXIgdW5yZWxlYXNlZCBvbmUgbW92aW5nCj4g PiBkZXZpY2Vfc2NyaXB0IGludG8gc2VwYXJhdGUgZmlsZS4gUGxlYXNlIG5vdGUgaXQgaXMgb25s eSBhIGRyYWZ0LCBjb21waWxlCj4gPiB0ZXN0ZWQgb25seSAoYXNzdW1lcyBDOTkgY29tcGlsZXIp LiBJIHRyaWVkIHRvIGF2b2lkIGRldmljZSBkcml2ZXIKPiBjaGFuZ2VzLAo+ID4gYnV0IHBhdGNo IGlzIHN0aWxsIGEgYml0IGhhcmQgdG8gcmVhZC4gQXBvbG9naWVzIGZvciB0aGF0LiBIb3dldmVy LCBpdAo+ID4gc2hvdWxkIHN1ZmZpY2UgYXMgYSBiZWdpbm5pbmcgb2YgYSBkaXNjdXNzaW9uLiBJ J2xsIHBvbGlzaCBpdCBhIGJpdCBtb3JlCj4gPiBiYXNlZCBvbiBmZWVkYmFjayByZWNlaXZlZCBh bmQgc2VuZCBhcyBzZXBhcmF0ZSBwYXRjaCBzZXJpZS4KPiAKPiBMb29rcyBnb29kLiBTb21lIG1p bm9yIHN0dWZmIGJlbG93Lgo+IAo+ID4gK2NvbnN0IHN0YXRpYyBnbl9kZXZpY2Vfb3BzIF9ibHVl dG9vdGhfb3BzID0gewo+ID4gKyAgICAgICAub3BlbiAgID0gX2JsdWV0b290aF9vcGVuLAo+IAo+ IFdoeSBqdXN0IG9wZW4gd2l0aCBfIHByZWZpeD8gT3ZlcmFsbCBxdWVzdGlvbiBmb3Igb3RoZXIg cGxhY2VzIGFzIHdlbGwuCgpJdCB3b3VsZCBiZSBtb3JlIGNvbnZlbmllbnQgdG8gaGF2ZSBhbGwg ZGV2aWNlIGZ1bmN0aW9ucyB3aXRoIHRoZSBzYW1lCnByb3RvdHlwZS4gSXQgaXMgbm90IHRoZSBj YXNlICh5ZXQpIGFuZCBJIHdhbnRlZCB0byBoYXZlIHBsdWdpbiBjaGFuZ2UKaXNvbGF0ZWQgd2l0 aG91dCB0b3VjaGluZyBkZXZpY2UgZHJpdmVycy4KClNvIEkganVzdCBpbnRyb2R1Y2VkIF8gcHJl Zml4ZWQgdmFyaWFudHMgdG8ga2VlcCBjaGFuZ2UgaW4gb25lIHBsYWNlLgpMYXRlciB3ZSBjYW4g dW5pZnkgZHJpdmVyIGZ1bmN0aW9ucyB0byB1c2UgdGhlIHNhbWUgcHJvdG90eXBlIGFuZAp0aGlz IHdpbGwgZ28gYXdheS4gU28gaXQgY2FuIGhhdmUgYW55IG5hbWUsIGZlZWwgZnJlZSB0byBzdWdn ZXN0CnNvbWV0aGluZyBiZXR0ZXIuCgo+ID4gKyAgICAgICAuY2xvc2UgID0gYmx1ZXRvb3RoX2Ns b3NlLAo+ID4gKyAgICAgICAuc2VsZWN0ID0gYmx1ZXRvb3RoX3NlbGVjdCwKPiA+ICsgICAgICAg LnJlYWQgICA9IGJsdWV0b290aF9yZWFkLAo+ID4gKyAgICAgICAud3JpdGUgID0gYmx1ZXRvb3Ro X3dyaXRlLAo+ID4gK307Cj4gCj4gPiAgZ25fZXJyb3IgZGV2aWNlX25yZWNlaXZlZChpbnQgKm4s IHN0cnVjdCBnbl9zdGF0ZW1hY2hpbmUgKnN0YXRlKQo+IFsuLi5dCj4gPiArICAgICAgIHJldHVy biBzdGF0ZS0+ZGV2aWNlLm9wcy0+bnJjdmQoc3RhdGUtPmRldmljZS5mZCwgbiwgc3RhdGUpOwo+ IAo+IEkgd291bGQgbGVhdmUgbmFtaW5nIGNvbnNpc3RlbnQgbGlrZSBucmVjZWl2ZWQgZXZlcnl3 aGVyZS4gSXQgYXBwbGllcyBub3QKPiBqdXN0IGhlcmUuCgpJdCB3YXMgdGhlcmUsIGJ1dCBpdCBp cyB0b28gbG9uZyB0byBoYXZlIGRldmljZV9vcHMgYWJvdmUgbmljZWx5IGFsaWduZWQuClRoaXMg d2F5IGFsbCBvcHMgbmFtZXMgYXJlIGFib3V0IHRoZSBzYW1lIGxlbmdodC4gSWYgeW91IHByZWZl ciBsb25nZXIKdmFyaWFudCwgbGV0J3MgY2hhbmdlIHRoYXQuCgo+ID4gK2RubCA9PT09PT09PT09 PT09PT09PT09PT09PT0gRGVmaW5lcyBsb2NhdGlvbiBmb3IgZ2V0dGV4dAo+ID4gK0FDX0FSR19X SVRIKGdldHRleHQsCj4gPiArICAgICAgIFsgIC0td2l0aC1nZXR0ZXh0PURJUiAgICAgIHNwZWNp ZmllcyB0aGUgYmFzZSBnZXR0ZXh0XSwKPiA+ICsgICAgICAgWyBpZiB0ZXN0IHgkd2l0aHZhbCA9 IHh5ZXM7IHRoZW4KPiA+ICsgICAgICAgICAgICAgICBBQ19NU0dfV0FSTihVc2FnZSBpczogLS13 aXRoLWdldHRleHQ9RElSKQo+ID4gKyAgICAgICAgIGVsc2UKPiA+ICsgICAgICAgICAgICAgICBD RkxBR1M9IiRDRkxBR1MgLUkkd2l0aHZhbCIKPiA+ICsgICAgICAgICBmaQo+ID4gKyAgICAgICBd Cj4gPiArKQo+ID4gKwo+IAo+IEhtPwo+IAo+ID4gK2RubCA9PT09PT09PT09PT09PT09PT09PT09 PT0gQ2hlY2tzIGZvciBnZXRob3N0YnluYW1lIHN1cHBvcnQKPiA+ICtBQ19DSEVDS19GVU5DKGdl dGhvc3RieW5hbWUsICwKPiA+ICsgICAgICAgQUNfQ0hFQ0tfTElCKG5zbCwgZ2V0aG9zdGJ5bmFt ZSwgVENQX0xJQlM9Ii1sbnNsIgo+ID4gKyAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoVENQ X0xJQlMpKSkKPiA+ICtkbmwgSGFpa3UgcmVxdWlyZXMgLWxuZXR3b3JrIGZvciBzb2NrZXQgZnVu Y3Rpb25zCj4gPiArQUNfQ0hFQ0tfRlVOQyhnZXRob3N0YnluYW1lLCAsCj4gPiArICAgICAgIEFD X0NIRUNLX0xJQihuZXR3b3JrLCBnZXRob3N0YnluYW1lLCBUQ1BfTElCUz0iLWxuZXR3b3JrIgo+ ID4gKyAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoVENQX0xJQlMpKSkKPiA+ICsKPiAKPiBI bT8KPiAKPiA+IC1pZiB0ZXN0ICIkZW5hYmxlX3Bob25ldCIgPSAieWVzIjsgdGhlbgo+ID4gLSAg ICAgICBBQ19DSEVDS19IRUFERVIobGludXgvcGhvbmV0LmgsCj4gPiAtICAgICAgICAgICAgICAg W0FDX0RFRklORShIQVZFX1NPQ0tFVFBIT05FVCwgMSwgW1doZXRoZXIgUGhvbmV0IGlzCj4gYXZh aWxhYmxlXSkKPiA+IC0gICAgICAgICAgICAgICAgVVNFX1NPQ0tFVFBIT05FVD0ieWVzIl0sLAo+ ID4gLSAgICAgICAgICAgICAgIFsjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgo+ID4gLSAgICAgICAg ICAgICAgICAjaW5jbHVkZSA8bGludXgvcGhvbmV0Lmg+XSkKPiA+IC1maQo+IAo+IFdoeT8KClNl ZSBiZWxsb3cgZm9yIGFsbCBIbSBhbmQgV2h5IHBhcnQuCgo+ID4gLWRubCA9PT09PT09PT09PT09 PT09PT09PT09PT0gQ2hlY2tzIGZvciBnZXRob3N0YnluYW1lIHN1cHBvcnQKPiA+IC1BQ19DSEVD S19GVU5DKGdldGhvc3RieW5hbWUsICwKPiA+IC0gICAgICAgQUNfQ0hFQ0tfTElCKG5zbCwgZ2V0 aG9zdGJ5bmFtZSwgVENQX0xJQlM9Ii1sbnNsIgo+ID4gLSAgICAgICAgICAgICAgICAgICAgQUNf U1VCU1QoVENQX0xJQlMpKSkKPiA+IC1kbmwgSGFpa3UgcmVxdWlyZXMgLWxuZXR3b3JrIGZvciBz b2NrZXQgZnVuY3Rpb25zCj4gPiAtQUNfQ0hFQ0tfRlVOQyhnZXRob3N0YnluYW1lLCAsCj4gPiAt ICAgICAgIEFDX0NIRUNLX0xJQihuZXR3b3JrLCBnZXRob3N0YnluYW1lLCBUQ1BfTElCUz0iLWxu ZXR3b3JrIgo+ID4gLSAgICAgICAgICAgICAgICAgICAgQUNfU1VCU1QoVENQX0xJQlMpKSkKPiA+ IC0KPiAKPiBPSywgc28gdGhpcyBwYXJ0IGlzIGp1c3QgYmVpbmcgbW92ZWQuLi4KPiAKPiA+IC1p ZiB0ZXN0ICIkZW5hYmxlX2lyZGEiID0gInllcyI7IHRoZW4KPiA+IC0gICAgICAgQUNfQ0hFQ0tf SEVBREVSKGxpbnV4L2lyZGEuaCwKPiA+IC0gICAgICAgICAgICAgICBbQUNfREVGSU5FKEhBVkVf SVJEQSwgMSwgW1doZXRoZXIgSXJEQSBpcyBhdmFpbGFibGVdKQo+ID4gLSAgICAgICAgICAgICAg ICBVU0VfSVJEQT0ieWVzIl0sLAo+ID4gLSAgICAgICAgICAgICAgIFsjaW5jbHVkZSA8c3lzL3Nv Y2tldC5oPgo+ID4gLSAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+Cj4gPiAt ICAgICAgICAgICAgICAgICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPl0pCj4gPiAtZmkKPiAKPiBX aHk/Cj4gCj4gPiAtZG5sID09PT09PT09PT09PT09PT09PT09PT09PSBEZWZpbmVzIGxvY2F0aW9u IGZvciBnZXR0ZXh0Cj4gPiAtQUNfQVJHX1dJVEgoZ2V0dGV4dCwKPiA+IC0gICAgICAgWyAgLS13 aXRoLWdldHRleHQ9RElSICAgICAgc3BlY2lmaWVzIHRoZSBiYXNlIGdldHRleHRdLAo+ID4gLSAg ICAgICBbIGlmIHRlc3QgeCR3aXRodmFsID0geHllczsgdGhlbgo+ID4gLSAgICAgICAgICAgICAg IEFDX01TR19XQVJOKFVzYWdlIGlzOiAtLXdpdGgtZ2V0dGV4dD1ESVIpCj4gPiAtICAgICAgICAg ZWxzZQo+ID4gLSAgICAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtSSR3aXRodmFsIgo+ID4g LSAgICAgICAgIGZpCj4gPiAtICAgICAgIF0KPiA+IC0pCj4gCj4gT0ssIHNvIHRoaXMgcGFydCBp cyBqdXN0IGJlaW5nIG1vdmVkLgoKU25pcGV0cyBhcmUgc2h1ZmZsZWQgYXJvdW5kIHRvIGhhdmUg YWxsIGRldmljZSBjaGVja3MgaW4gb25lIHBsYWNlCmFuZCB0aGUgcmVzdCBhdCBhbm90aGVyLiBO byBwcm9ibGVtIGRyb3BwaW5nIHRoYXQgY2hhbmdlIG9yIGhhdmluZwpzZXBhcmF0ZSBwYXRjaCBm b3IgaXQuCgo+ID4gLXZvaWQgZGV2aWNlX3Jlc2V0KHN0cnVjdCBnbl9zdGF0ZW1hY2hpbmUgKnN0 YXRlKTsKPiAKPiBXaHk/CgpUaGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIGFueXdoZXJlLiBQZXJo YXBzIGJhc2UgZGV2aWNlIGNoYW5nZSBvbiBzb21lCnByZXBhcmF0aW9uIGNsZWFudXAgcGF0Y2hl cyB3b3VsZCBtYWtlIHlvdSBtb3JlIGhhcHB5IDopCgo+ID4gIHR5cGVkZWYgc3RydWN0IHsKPiA+ ICAgICAgICAgaW50IGZkOwo+ID4gLSAgICAgICBnbl9jb25uZWN0aW9uX3R5cGUgdHlwZTsKPiAK PiBXb24ndCB3ZSBuZWVkIGl0IGFueW1vcmU/CgpObywgd2UgaGF2ZSBkZXZpY2Vfb3BzIG5vdy4g QWxzbyBpdCB3b3VsZCBhbGxvdyB1cyB0byByZW1vdmUgYWxsIHN0dWZmIGxpa2UKKGZidXNfc2Vy aWFsX29wZW4pOgogICAgICAgIGlmIChzdGF0ZS0+Y29uZmlnLmNvbm5lY3Rpb25fdHlwZSA9PSBH Tl9DVF9UQ1ApCiAgICAgICAgICAgICAgICB0eXBlID0gR05fQ1RfVENQOwogICAgICAgIGVsc2UK ICAgICAgICAgICAgICAgIHR5cGUgPSBHTl9DVF9TZXJpYWw7CmFzIHdlIGhhbmRsZSBhbGwgZGV2 aWNlcyBjb25zaXN0ZW50bHkgbm93LgoKPiA+ICsgICAgICAgY29uc3QgZ25fZGV2aWNlX29wcyAq b3BzOwo+ID4gICAgICAgICB2b2lkICpkZXZpY2VfaW5zdGFuY2U7Cj4gPiAgfSBnbl9kZXZpY2U7 Cj4gCj4gQ2hlZXJzLAo+IC0tCj4gUGF3ZWwgS290Cgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gZ25va2lpLXVzZXJzIG1haWxpbmcgbGlzdAo+IGdu b2tpaS11c2Vyc0Bub25nbnUub3JnCj4gaHR0cHM6Ly9saXN0cy5ub25nbnUub3JnL21haWxtYW4v bGlzdGluZm8vZ25va2lpLXVzZXJzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZ25va2lpLXVzZXJzIG1haWxpbmcgbGlzdApnbm9raWktdXNlcnNAbm9u Z251Lm9yZwpodHRwczovL2xpc3RzLm5vbmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9nbm9raWkt dXNlcnMK