From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v1 10/12] xl: put daemonize code in it's own function Date: Wed, 2 Oct 2013 11:24:32 +0200 Message-ID: <1380705874-58491-11-git-send-email-roger.pau@citrix.com> References: <1380705874-58491-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1VRIpx-0001Bs-47 for xen-devel@lists.xenproject.org; Wed, 02 Oct 2013 09:35:17 +0000 In-Reply-To: <1380705874-58491-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org TW92ZSB0aGUgZGFlbW9uaXplciBjb2RlIGZyb20gY3JlYXRlX2RvbWFpbiBpbnRvIGl0J3Mgb3du IGZ1bmN0aW9uCnRoYXQgY2FuIGJlIGNhbGxlZCBmcm9tIG90aGVyIHBsYWNlcyBkaWZmZXJlbnQg dGhhbiBjcmVhdGVfZG9tYWluLgpUaGlzIHdpbGwgYmUgdXNlZCB0byBkYWVtb25pemUgdGhlIGRy aXZlciBkb21haW4gYmFja2VuZCBoYW5kbGVyLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1v bm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25A ZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+ Ci0tLQogdG9vbHMvbGlieGwveGxfY21kaW1wbC5jIHwgIDEwMiArKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlv bnMoKyksIDQ0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL3hsX2NtZGlt cGwuYyBiL3Rvb2xzL2xpYnhsL3hsX2NtZGltcGwuYwppbmRleCA4ODRmMDUwLi41NTNiYTcwIDEw MDY0NAotLS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKKysrIGIvdG9vbHMvbGlieGwveGxf Y21kaW1wbC5jCkBAIC0zNzAsNiArMzcwLDU4IEBAIG91dDoKICAgICBpZiAoZmVycm9yKHN0ZG91 dCkgfHwgZmZsdXNoKHN0ZG91dCkpIHsgcGVycm9yKCJzdGRvdXQiKTsgZXhpdCgtMSk7IH0KIH0K IAorc3RhdGljIGludCBkb19kYWVtb25pemUoY2hhciAqbmFtZSkKK3sKKyAgICBjaGFyICpmdWxs bmFtZTsKKyAgICBwaWRfdCBjaGlsZDEsIGdvdF9jaGlsZDsKKyAgICBpbnQgbnVsbGZkLCByZXQg PSAwOworICAgIGludCBzdGF0dXMgPSAwOworCisgICAgY2hpbGQxID0geGxfZm9yayhjaGlsZF93 YWl0ZGFlbW9uKTsKKyAgICBpZiAoY2hpbGQxKSB7CisgICAgICAgIHByaW50ZigiRGFlbW9uIHJ1 bm5pbmcgd2l0aCBQSUQgJWRcbiIsIGNoaWxkMSk7CisKKyAgICAgICAgZm9yICg7OykgeworICAg ICAgICAgICAgZ290X2NoaWxkID0geGxfd2FpdHBpZChjaGlsZF93YWl0ZGFlbW9uLCAmc3RhdHVz LCAwKTsKKyAgICAgICAgICAgIGlmIChnb3RfY2hpbGQgPT0gY2hpbGQxKSBicmVhazsKKyAgICAg ICAgICAgIGFzc2VydChnb3RfY2hpbGQgPT0gLTEpOworICAgICAgICAgICAgcGVycm9yKCJmYWls ZWQgdG8gd2FpdCBmb3IgZGFlbW9uaXppbmcgY2hpbGQiKTsKKyAgICAgICAgICAgIHJldCA9IEVS Uk9SX0ZBSUw7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgICAgICBpZiAo c3RhdHVzKSB7CisgICAgICAgICAgICBsaWJ4bF9yZXBvcnRfY2hpbGRfZXhpdHN0YXR1cyhjdHgs IFhUTF9FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAgImRhZW1vbml6aW5nIGNoaWxkIiwg Y2hpbGQxLCBzdGF0dXMpOworICAgICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKKyAgICAgICAg ICAgIGdvdG8gb3V0OworICAgICAgICB9CisgICAgICAgIHJldCA9IDE7CisgICAgICAgIGdvdG8g b3V0OworICAgIH0KKworICAgIHBvc3Rmb3JrKCk7CisKKyAgICByZXQgPSBsaWJ4bF9jcmVhdGVf bG9nZmlsZShjdHgsIG5hbWUsICZmdWxsbmFtZSk7CisgICAgaWYgKHJldCkgeworICAgICAgICBM T0coImZhaWxlZCB0byBvcGVuIGxvZ2ZpbGUgJXM6ICVzIixmdWxsbmFtZSxzdHJlcnJvcihlcnJu bykpOworICAgICAgICBleGl0KC0xKTsKKyAgICB9CisKKyAgICBDSEtfRVJSTk8oKCBsb2dmaWxl ID0gb3BlbihmdWxsbmFtZSwgT19XUk9OTFl8T19DUkVBVHxPX0FQUEVORCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAwNjQ0KSApPDApOworICAgIGZyZWUoZnVsbG5hbWUpOworCisg ICAgQ0hLX0VSUk5PKCggbnVsbGZkID0gb3BlbigiL2Rldi9udWxsIiwgT19SRE9OTFkpICk8MCk7 CisgICAgZHVwMihudWxsZmQsIDApOworICAgIGR1cDIobG9nZmlsZSwgMSk7CisgICAgZHVwMihs b2dmaWxlLCAyKTsKKworICAgIENIS19FUlJOTyhkYWVtb24oMCwgMSkgPCAwKTsKKworb3V0Ogor ICAgIHJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBpbnQgcGFyc2VfYWN0aW9uX29uX3NodXRkb3du KGNvbnN0IGNoYXIgKmJ1ZiwgbGlieGxfYWN0aW9uX29uX3NodXRkb3duICphKQogewogICAgIGlu dCBpOwpAQCAtMTg1OSw3ICsxOTExLDYgQEAgc3RhdGljIHVpbnQzMl90IGNyZWF0ZV9kb21haW4o c3RydWN0IGRvbWFpbl9jcmVhdGUgKmRvbV9pbmZvKQogICAgIHZvaWQgKmNvbmZpZ19kYXRhID0g MDsKICAgICBpbnQgY29uZmlnX2xlbiA9IDA7CiAgICAgaW50IHJlc3RvcmVfZmQgPSAtMTsKLSAg ICBpbnQgc3RhdHVzID0gMDsKICAgICBjb25zdCBsaWJ4bF9hc3luY3Byb2dyZXNzX2hvdyAqYXV0 b2Nvbm5lY3RfY29uc29sZV9ob3c7CiAgICAgc3RydWN0IHNhdmVfZmlsZV9oZWFkZXIgaGRyOwog CkBAIC0yMDkxLDU1ICsyMTQyLDE4IEBAIHN0YXJ0OgogICAgICAgICB2bmN2aWV3ZXIoZG9taWQs IHZuY2F1dG9wYXNzKTsKIAogICAgIGlmIChuZWVkX2RhZW1vbikgewotICAgICAgICBjaGFyICpm dWxsbmFtZSwgKm5hbWU7Ci0gICAgICAgIHBpZF90IGNoaWxkMSwgZ290X2NoaWxkOwotICAgICAg ICBpbnQgbnVsbGZkOwotCi0gICAgICAgIGNoaWxkMSA9IHhsX2ZvcmsoY2hpbGRfd2FpdGRhZW1v bik7Ci0gICAgICAgIGlmIChjaGlsZDEpIHsKLSAgICAgICAgICAgIHByaW50ZigiRGFlbW9uIHJ1 bm5pbmcgd2l0aCBQSUQgJWRcbiIsIGNoaWxkMSk7Ci0KLSAgICAgICAgICAgIGZvciAoOzspIHsK LSAgICAgICAgICAgICAgICBnb3RfY2hpbGQgPSB4bF93YWl0cGlkKGNoaWxkX3dhaXRkYWVtb24s ICZzdGF0dXMsIDApOwotICAgICAgICAgICAgICAgIGlmIChnb3RfY2hpbGQgPT0gY2hpbGQxKSBi cmVhazsKLSAgICAgICAgICAgICAgICBhc3NlcnQoZ290X2NoaWxkID09IC0xKTsKLSAgICAgICAg ICAgICAgICBwZXJyb3IoImZhaWxlZCB0byB3YWl0IGZvciBkYWVtb25pemluZyBjaGlsZCIpOwot ICAgICAgICAgICAgICAgIHJldCA9IEVSUk9SX0ZBSUw7Ci0gICAgICAgICAgICAgICAgZ290byBv dXQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoc3RhdHVzKSB7Ci0gICAgICAgICAg ICAgICAgbGlieGxfcmVwb3J0X2NoaWxkX2V4aXRzdGF0dXMoY3R4LCBYVExfRVJST1IsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAiZGFlbW9uaXppbmcgY2hpbGQiLCBjaGlsZDEsIHN0YXR1 cyk7Ci0gICAgICAgICAgICAgICAgcmV0ID0gRVJST1JfRkFJTDsKLSAgICAgICAgICAgICAgICBn b3RvIG91dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldCA9IGRvbWlkOwotICAgICAg ICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLQotICAgICAgICBwb3N0Zm9yaygpOworICAgICAg ICBjaGFyICpuYW1lOwogCiAgICAgICAgIGlmIChhc3ByaW50ZigmbmFtZSwgInhsLSVzIiwgZF9j b25maWcuY19pbmZvLm5hbWUpIDwgMCkgewogICAgICAgICAgICAgTE9HKCJGYWlsZWQgdG8gYWxs b2NhdGUgbWVtb3J5IGluIGFzcHJpbnRmIik7CiAgICAgICAgICAgICBleGl0KDEpOwogICAgICAg ICB9Ci0gICAgICAgIHJjID0gbGlieGxfY3JlYXRlX2xvZ2ZpbGUoY3R4LCBuYW1lLCAmZnVsbG5h bWUpOwotICAgICAgICBpZiAocmMpIHsKLSAgICAgICAgICAgIExPRygiZmFpbGVkIHRvIG9wZW4g bG9nZmlsZSAlczogJXMiLGZ1bGxuYW1lLHN0cmVycm9yKGVycm5vKSk7Ci0gICAgICAgICAgICBl eGl0KC0xKTsKLSAgICAgICAgfQotCi0gICAgICAgIENIS19FUlJOTygoIGxvZ2ZpbGUgPSBvcGVu KGZ1bGxuYW1lLCBPX1dST05MWXxPX0NSRUFUfE9fQVBQRU5ELAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAwNjQ0KSApPDApOwotICAgICAgICBmcmVlKGZ1bGxuYW1lKTsKKyAg ICAgICAgcmV0ID0gZG9fZGFlbW9uaXplKG5hbWUpOwogICAgICAgICBmcmVlKG5hbWUpOwotCi0g ICAgICAgIENIS19FUlJOTygoIG51bGxmZCA9IG9wZW4oIi9kZXYvbnVsbCIsIE9fUkRPTkxZKSAp PDApOwotICAgICAgICBkdXAyKG51bGxmZCwgMCk7Ci0gICAgICAgIGR1cDIobG9nZmlsZSwgMSk7 Ci0gICAgICAgIGR1cDIobG9nZmlsZSwgMik7Ci0KLSAgICAgICAgQ0hLX0VSUk5PKGRhZW1vbigw LCAxKSA8IDApOworICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICByZXQgPSAocmV0ID09 IDEpID8gZG9taWQgOiByZXQ7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQogICAg ICAgICBuZWVkX2RhZW1vbiA9IDA7CiAgICAgfQogICAgIExPRygiV2FpdGluZyBmb3IgZG9tYWlu ICVzIChkb21pZCAlZCkgdG8gZGllIFtwaWQgJWxkXSIsCi0tIAoxLjcuNy41IChBcHBsZSBHaXQt MjYpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK