Jarek Dylag wrote:
> Hey
>
> [...]
>> Yeah, I know where it happens, but why it happens and how to fix it is
>> still a mystery. Thus far, every solution I've tried has failed.
>> http://people.linux-vserver.org/~dhozac/p/uv/experimental/delta-vlogin-efds.diff
>> has two of the things I've tried to fix it.
>
> I added additional check in termina_copy() functon:

Could you try
http://svn.linux-vserver.org/projects/util-vserver/changeset/2514?format=diff&new=2514
instead? Essentially the same thing, just in the (IMHO) correct function.

> --- vlogin.c.old        2006-12-09 17:15:22.000000000 +0100
> +++ vlogin.c    2007-03-14 13:47:13.000000000 +0100
> @@ -139,6 +139,11 @@
>    } else if (len == -1)
>      return;
>
> +  if (len == 0) {
> +    terminal_kill(SIGTERM);
> +    exit(1);
> +  }
> +
>    /* write activity to user */
>    EwriteAll(dst, buf, len);
>  }
>
> It fixes the problem, but i don't know if i haven't broken something else.
>
> Jarek Dylag

-- 
Daniel Hokka Zakrisson
_______________________________________________
Vserver mailing list
Vserver@list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver

Reply via email to