vserver 1.9.5.x5
[linux-2.6.git] / arch / um / drivers / xterm.c
index f417b3b..c1c22e5 100644 (file)
@@ -97,6 +97,13 @@ int xterm_open(int input, int output, int primary, void *d, char **dev_out)
        if(os_access(argv[4], OS_ACC_X_OK) < 0)
                argv[4] = "port-helper";
 
+       /* 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;
+       }
+
        fd = mkstemp(file);
        if(fd < 0){
                printk("xterm_open : mkstemp failed, errno = %d\n", errno);
@@ -126,9 +133,9 @@ int xterm_open(int input, int output, int primary, void *d, char **dev_out)
 
        if(data->stack == 0) free_stack(stack, 0);
 
-       if(data->direct_rcv)
+       if (data->direct_rcv) {
                new = os_rcv_fd(fd, &data->helper_pid);
-       else {
+       else {
                err = os_set_fd_block(fd, 0);
                if(err < 0){
                        printk("xterm_open : failed to set descriptor "