From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Charles Coffing" Subject: [PATCH] better daemon-ization of xend Date: Fri, 17 Sep 2004 14:45:11 -0600 Sender: xen-devel-admin@lists.sourceforge.net Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__PartE9C9EEC7.0__=" Return-path: Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: xen-devel@lists.sourceforge.net List-Id: xen-devel@lists.xenproject.org This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__PartE9C9EEC7.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline The attached patch tidies up how xend becomes a daemon, and it hooks up the "restart" and "status" commands. Details: I attempted to start xend from SuSE's YaST, but YaST hung waiting on xend to start. Turns out that xend wasn't quite becoming a daemon. setsid was conditionally called for xend, and never called for xfrd. Stdin, stdout, and stderr were left open and this is what hung YaST. Daemon.(start|status) now return LSB-defined error codes. I realize the python scripts are probably meant to be cross platform, but it seemed cleaner to inheirit a few LSB error codes here, rather than create my own and then try to remap them up in /etc/init.d/xend. I still suspect Linux distributions will write their own /etc/init.d/xend scripts, but at least now the stock one behaves a little better. --=__PartE9C9EEC7.0__= Content-Type: application/octet-stream; name="xend.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xend.diff" LS0tIHhlbm8tdW5zdGFibGUuYmsvdG9vbHMvbWlzYy94ZW5kCTIwMDQtMDktMDkgMTU6MzQ6NTAu MDAwMDAwMDAwIC0wNjAwCisrKyB4ZW5vLXVuc3RhYmxlLmJrLm5ldy90b29scy9taXNjL3hlbmQJ MjAwNC0wOS0xNyAwNDo0MDoxNS4wMDAwMDAwMDAgLTA2MDAKQEAgLTgsMTEgKzgsMTIgQEAKICAg IFByb3ZpZGVzIGNvbnNvbGUgc2VydmVyIGFuZCBIVFRQIG1hbmFnZW1lbnQgYXBpLgogCiAgICBS dW46Ci0KICAgIHhlbmQgc3RhcnQKIAotICAgVGhlIGRhZW1vbiBpcyBzdG9wcGVkIHdpdGg6Cisg ICBSZXN0YXJ0OgorICAgeGVuZCByZXN0YXJ0CiAKKyAgIFRoZSBkYWVtb24gaXMgc3RvcHBlZCB3 aXRoOgogICAgeGVuZCBzdG9wCiAKICAgIFRoZSBkYWVtb24gc2hvdWxkIHJlY29ubmVjdCB0byBk ZXZpY2UgY29udHJvbCBpbnRlcmZhY2VzCkBAIC0xMDcsNiArMTA4LDggQEAKICAgICAgICAgcmV0 dXJuIGRhZW1vbi5zdG9wKCkKICAgICBlbGlmIHN5cy5hcmd2WzFdID09ICdyZXN0YXJ0JzoKICAg ICAgICAgcmV0dXJuIGRhZW1vbi5zdG9wKCkgb3IgZGFlbW9uLnN0YXJ0KCkKKyAgICBlbGlmIHN5 cy5hcmd2WzFdID09ICdzdGF0dXMnOgorICAgICAgICByZXR1cm4gZGFlbW9uLnN0YXR1cygpCiAg ICAgZWxzZToKICAgICAgICAgcHJpbnQgJ25vdCBhbiBvcHRpb246Jywgc3lzLmFyZ3ZbMV0KICAg ICByZXR1cm4gMQotLS0geGVuby11bnN0YWJsZS5iay90b29scy9weXRob24veGVuL3hlbmQvc2Vy dmVyL1NydkRhZW1vbi5weQkyMDA0LTA5LTA5IDE1OjM0OjUwLjAwMDAwMDAwMCAtMDYwMAorKysg eGVuby11bnN0YWJsZS5iay5uZXcvdG9vbHMvcHl0aG9uL3hlbi94ZW5kL3NlcnZlci9TcnZEYWVt b24ucHkJMjAwNC0wOS0xNyAxMjoyMDo0OC4wMDAwMDAwMDAgLTA2MDAKQEAgLTQyLDcgKzQyLDcg QEAKIGltcG9ydCBkb21haW4KIGZyb20gcGFyYW1zIGltcG9ydCAqCiAKLURFQlVHID0gMQorREVC VUcgPSAwCiAKIGNsYXNzIE5vdGlmaWVyUHJvdG9jb2wocHJvdG9jb2wuUHJvdG9jb2wpOgogICAg ICIiIkFzeW5jaHJvbm91cyBoYW5kbGVyIGZvciBpL28gb24gdGhlIG5vdGlmaWVyIChldmVudCBj aGFubmVsKS4KQEAgLTQxOSw2ICs0MTksMTggQEAKICAgICAgICAgc2VsZi5jbGVhbnVwX3hlbmQo a2lsbD1raWxsKQogICAgICAgICBzZWxmLmNsZWFudXBfeGZyZChraWxsPWtpbGwpCiAgICAgICAg ICAgICAKKyAgICBkZWYgc3RhdHVzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBzdGF0 dXMgb2YgdGhlIHhlbmQgYW5kIHhmcmQgZGFlbW9ucy4KKyAgICAgICAgVGhlIHJldHVybiB2YWx1 ZSBpcyBkZWZpbmVkIGJ5IHRoZSBMU0I6CisgICAgICAgIDAgIFJ1bm5pbmcKKyAgICAgICAgMyAg Tm90IHJ1bm5pbmcKKyAgICAgICAgIiIiCisgICAgICAgIGlmIChzZWxmLmNsZWFudXBfcHJvY2Vz cyhYRU5EX1BJRF9GSUxFLCAieGVuZCIsIEZhbHNlKSA9PSAwIG9yCisgICAgICAgICAgICBzZWxm LmNsZWFudXBfcHJvY2VzcyhYRlJEX1BJRF9GSUxFLCAieGZyZCIsIEZhbHNlKSA9PSAwKToKKyAg ICAgICAgICAgIHJldHVybiAzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gMAor CiAgICAgZGVmIGluc3RhbGxfY2hpbGRfcmVhcGVyKHNlbGYpOgogICAgICAgICAjc2lnbmFsLnNp Z25hbChzaWduYWwuU0lHQ0hMRCwgc2VsZi5vblNJR0NITEQpCiAgICAgICAgICMgRW5zdXJlIHRo YXQgem9tYmllIGNoaWxkcmVuIGFyZSBhdXRvbWF0aWNhbGx5IHJlYXBlZC4KQEAgLTQ1MSwyMiAr NDYzLDM2IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAj IENoaWxkCi0gICAgICAgICAgICBzZWxmLnNldF91c2VyKCkKICAgICAgICAgICAgIG9zLmV4ZWNs KCIvdXNyL3NiaW4veGZyZCIsICJ4ZnJkIikKICAgICAgICAgICAgIAogICAgIGRlZiBzdGFydChz ZWxmLCB0cmFjZT0wKToKKyAgICAgICAgIiIiQXR0ZW1wdHMgdG8gc3RhcnQgdGhlIGRhZW1vbnMu CisgICAgICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgZGVmaW5lZCBieSB0aGUgTFNCOgorICAgICAg ICAwICBTdWNjZXNzCisgICAgICAgIDQgIEluc3VmZmljaWVudCBwcml2aWxlZ2VzCisgICAgICAg ICIiIgogICAgICAgICB4ZW5kX3BpZCA9IHNlbGYuY2xlYW51cF94ZW5kKCkKICAgICAgICAgeGZy ZF9waWQgPSBzZWxmLmNsZWFudXBfeGZyZCgpCi0gICAgICAgIGlmIHhmcmRfcGlkID09IDA6Ci0g ICAgICAgICAgICBzZWxmLnN0YXJ0X3hmcmQoKQotICAgICAgICBpZiB4ZW5kX3BpZCA+IDA6Ci0g ICAgICAgICAgICByZXR1cm4gMQogCiAgICAgICAgICMgRGV0YWNoIGZyb20gVFRZLgogICAgICAg ICBpZiBub3QgREVCVUc6CiAgICAgICAgICAgICBvcy5zZXRzaWQoKQorICAgICAgICAgICAgc3lz LnN0ZGluLmNsb3NlKCk7CisgICAgICAgICAgICBzeXMuc3Rkb3V0LmNsb3NlKCk7CisgICAgICAg ICAgICBzeXMuc3RkZXJyLmNsb3NlKCk7CisgICAgICAgICAgICBvcy5jbG9zZSgwKTsKKyAgICAg ICAgICAgIG9zLmNsb3NlKDEpOworICAgICAgICAgICAgb3MuY2xvc2UoMik7CiAgICAgICAgIGlm IHNlbGYuc2V0X3VzZXIoKToKLSAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgICAgICByZXR1 cm4gNAorICAgICAgICBvcy5jaGRpcigiLyIpCisKKyAgICAgICAgaWYgeGZyZF9waWQgPT0gMDoK KyAgICAgICAgICAgIHNlbGYuc3RhcnRfeGZyZCgpCisgICAgICAgIGlmIHhlbmRfcGlkID4gMDoK KyAgICAgICAgICAgICMgVHJ5aW5nIHRvIHJ1biBhbiBhbHJlYWR5LXJ1bm5pbmcgc2VydmljZSBp cyBhIHN1Y2Nlc3MuCisgICAgICAgICAgICByZXR1cm4gMAorCiAgICAgICAgIHNlbGYuaW5zdGFs bF9jaGlsZF9yZWFwZXIoKQogCiAgICAgICAgIGlmIHNlbGYuZm9ya19waWQoWEVORF9QSURfRklM RSk6Ci0tLSB4ZW5vLXVuc3RhYmxlLmJrL3Rvb2xzL2V4YW1wbGVzL2luaXQuZC94ZW5kCTIwMDQt MDktMTYgMDk6NDE6NDMuMDAwMDAwMDAwIC0wNjAwCisrKyB4ZW5vLXVuc3RhYmxlLmJrLm5ldy90 b29scy9leGFtcGxlcy9pbml0LmQveGVuZAkyMDA0LTA5LTE3IDEyOjE5OjA1LjAwMDAwMDAwMCAt MDYwMApAQCAtMTAsMTUgKzEwLDE1IEBACiBjYXNlICIkMSIgaW4KICAgc3RhcnQpCiAJeGVuZCBz dGFydAotCWV4aXQgJD8KIAk7OwogICBzdG9wKQogCXhlbmQgc3RvcAotCWV4aXQgJD8KIAk7Owog ICBzdGF0dXMpCisJeGVuZCBzdGF0dXMKIAk7OwogICByZXN0YXJ0fHJlbG9hZCkKKwl4ZW5kIHJl c3RhcnQKIAk7OwogICAqKQogCSMgZG8gbm90IGFkdmVydGlzZSB1bnJlYXNvbmFibGUgY29tbWFu ZHMgdGhhdCB0aGVyZSBpcyBubyByZWFzb24KQEAgLTI3LDUgKzI3LDUgQEAKIAlleGl0IDEKIGVz YWMKIAotZXhpdCAwCitleGl0ICQ/CiAK --=__PartE9C9EEC7.0__=-- ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php