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/vserverReceived on Wed Mar 21 20:47:15 2007