From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Charles Coffing" Subject: [PATCH] properly daemonize vncviewer Date: Tue, 01 Aug 2006 15:11:08 -0400 Message-ID: <44CF52BA.D169.003C.0@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part183D9E5C.0__=" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org --=__Part183D9E5C.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, Currently, vncviewer is spawned from xm, but it doesn't properly get daemonized. The attached patch makes vncviewer run completely separate from xm. There are various reasons it should be daemonized, but the particular problem we hit was that YaST called "xm create" and waited on output on stdout/stderr; xm then spawned vncviewer (which never closed its inherited stdout and stderr); xm then would exit, but YaST still had open file descriptors, and therefore waited forever. It would be possible to work around in YaST, but it seemed cleaner to daemonize vncviewer. We've been running with a variant of this patch (a variant because we use tightvnc, which requires different arguments) for many months, and it works well. Please consider applying to xen-unstable. Thanks. Signed-off-by: Charles Coffing --=__Part183D9E5C.0__= Content-Type: application/octet-stream; name="xen-daemonize-vncviewer.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xen-daemonize-vncviewer.diff" SW5kZXg6IHhlbi11bnN0YWJsZS90b29scy9weXRob24veGVuL3htL2NyZWF0ZS5weQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSB4ZW4tdW5zdGFibGUub3JpZy90b29scy9weXRob24veGVuL3htL2NyZWF0ZS5weQor KysgeGVuLXVuc3RhYmxlL3Rvb2xzL3B5dGhvbi94ZW4veG0vY3JlYXRlLnB5CkBAIC04NTcsMTEg Kzg1Nyw0OSBAQCBkZWYgY2hvb3NlX3ZuY19kaXNwbGF5KCk6CiB2bmNwaWQgPSBOb25lCiAKIGRl ZiBzcGF3bl92bmMoZGlzcGxheSk6CisgICAgIiIiU3Bhd25zIGEgdm5jdmlld2VyIHRoYXQgbGlz dGVucyBvbiB0aGUgc3BlY2lmaWVkIGRpc3BsYXkuICBPbiBzdWNjZXNzLAorICAgIHJldHVybnMg dGhlIHBvcnQgdGhhdCB0aGUgdm5jdmlld2VyIGlzIGxpc3RlbmluZyBvbiBhbmQgc2V0cyB0aGUg Z2xvYmFsCisgICAgdm5jcGlkLiAgT24gZmFpbHVyZSwgcmV0dXJucyAwLiAgTm90ZSB0aGF0IHZu Y3ZpZXdlciBpcyBkYWVtb25pemVkLgorICAgICIiIgogICAgIHZuY2FyZ3MgPSAoWyJ2bmN2aWV3 ZXIiLCAiLWxvZyIsICIqOnN0ZG91dDowIiwKICAgICAgICAgICAgICItbGlzdGVuIiwgIiVkIiAl IChWTkNfQkFTRV9QT1JUICsgZGlzcGxheSkgXSkKLSAgICBnbG9iYWwgdm5jcGlkICAgIAotICAg IHZuY3BpZCA9IG9zLnNwYXdudnAob3MuUF9OT1dBSVQsICJ2bmN2aWV3ZXIiLCB2bmNhcmdzKQog CisgICAgciwgdyA9IG9zLnBpcGUoKQorICAgIHBpZCA9IG9zLmZvcmsoKQorCisgICAgaWYgcGlk ID09IDA6CisgICAgICAgIG9zLmNsb3NlKHIpCisgICAgICAgIHcgPSBvcy5mZG9wZW4odywgJ3cn KQorICAgICAgICBvcy5zZXRzaWQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwaWQyID0g b3MuZm9yaygpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHBpZDIgPSBOb25lCisgICAg ICAgIGlmIHBpZDIgPT0gMDoKKyAgICAgICAgICAgIG9zLmNoZGlyKCIvIikKKyAgICAgICAgICAg IGZvciBmZCBpbiByYW5nZSgwLCAyNTYpOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAg ICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisgICAgICAgICAgICAgICAgZXhjZXB0OgorICAgICAg ICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBvcy5vcGVuKCIvZGV2L251bGwiLCBvcy5P X1JEV1IpCisgICAgICAgICAgICBvcy5kdXAyKDAsIDEpCisgICAgICAgICAgICBvcy5kdXAyKDAs IDIpCisgICAgICAgICAgICBvcy5leGVjdnAoInZuY3ZpZXdlciIsIHZuY2FyZ3MpCisgICAgICAg ICAgICBvcy5fZXhpdCgxKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdy53cml0ZShzdHIo cGlkMiBvciAwKSkKKyAgICAgICAgICAgIHcuY2xvc2UoKQorICAgICAgICAgICAgb3MuX2V4aXQo MCkKKworICAgIGdsb2JhbCB2bmNwaWQKKyAgICBvcy5jbG9zZSh3KQorICAgIHIgPSBvcy5mZG9w ZW4ocikKKyAgICB2bmNwaWQgPSBpbnQoci5yZWFkKCkpCisgICAgci5jbG9zZSgpCisgICAgb3Mu d2FpdHBpZChwaWQsIDApCisgICAgaWYgdm5jcGlkID09IDA6CisgICAgICAgIHJldHVybiAwCiAg ICAgcmV0dXJuIFZOQ19CQVNFX1BPUlQgKyBkaXNwbGF5CiAgICAgCiBkZWYgcHJlcHJvY2Vzc192 bmModmFscyk6Cg== --=__Part183D9E5C.0__= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --=__Part183D9E5C.0__=--