Messages in this thread Patch in this message | | | Date | Sun, 14 Nov 2004 19:25:41 -0800 | From | Chris Wedgwood <> | Subject | [PATCH] uml: fail xterm_open when we have no $DISPLAY |
| |
If UML wants to open an xterm channel and the xterm does not run properly (eg. terminates soon after starting) we will get a hang. This avoids the most common cause for this and adds a comment (which long term will go away with a rewrite of that code I guess?)
Signed-off-by: Chris Wedgwood <cw@f00f.org> ---
arch/um/drivers/xterm.c | 7 +++++++ arch/um/drivers/xterm_kern.c | 3 +++ 2 files changed, 10 insertions(+)
Index: cw-current/arch/um/drivers/xterm.c =================================================================== --- cw-current.orig/arch/um/drivers/xterm.c 2004-11-14 17:52:05.955194653 -0800 +++ cw-current/arch/um/drivers/xterm.c 2004-11-14 17:52:23.048945524 -0800 @@ -94,6 +94,13 @@ "/usr/lib/uml/port-helper", "-uml-socket", file, NULL }; + /* Check that DISPLAY is set, this doesn't guarantee the xterm + * will work but w/o it we can be pretty sure it won't. */ + if (!getenv("DISPLAY")) { + printk("xterm_open: $DISPLAY not set.\n"); + return -ENODEV; + } + if(os_access(argv[4], OS_ACC_X_OK) < 0) argv[4] = "port-helper"; Index: cw-current/arch/um/drivers/xterm_kern.c =================================================================== --- cw-current.orig/arch/um/drivers/xterm_kern.c 2004-11-14 17:52:51.484194558 -0800 +++ cw-current/arch/um/drivers/xterm_kern.c 2004-11-14 17:53:09.197972625 -0800 @@ -61,6 +61,9 @@ ret = err; goto out; } + + /* XXX Note, if the xterm doesn't work for some reason + * (eg. DISPLAY isn't set this will hang... */ down(&data->sem); free_irq_by_irq_and_dev(XTERM_IRQ, data); - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |