Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2008 16:34:41 +0100
From:      "Paul B. Mahol" <onemda@gmail.com>
To:        "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com>
Cc:        Garrett Cooper <yanefbsd@gmail.com>, "current@freebsd.org" <current@freebsd.org>
Subject:   Re: RFC: small syscons and kbd patch
Message-ID:  <3a142e750812040734g26ecda23pfe646c27521cdc82@mail.gmail.com>
In-Reply-To: <bb4a86c70812040724w43ddec15yab72920d80d879d3@mail.gmail.com>
References:  <bb4a86c70812021701i621fdcfjb6a58a7f5cf781d5@mail.gmail.com> <7d6fde3d0812040324y3bf0901cy1f4a6d961362c314@mail.gmail.com> <bb4a86c70812040724w43ddec15yab72920d80d879d3@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 12/4/08, Maksim Yevmenkin <maksim.yevmenkin@gmail.com> wrote:
> On Thu, Dec 4, 2008 at 3:24 AM, Garrett Cooper <yanefbsd@gmail.com> wrote:
>> On Tue, Dec 2, 2008 at 5:01 PM, Maksim Yevmenkin
>> <maksim.yevmenkin@gmail.com> wrote:
>>> Dear Hackers,
>>>
>>> can someone please review the attached small patch for syscons and
>>> kbd? it should be a no-op mostly. the patch basically does
>>>
>>> 1) removes bogus layering in syscons, i.e. basically removes sccngetch();
>>> 2) implements advisory lock for kbd (based on atomic(9));
>>> 3) implements new POLLED flag for kbd;
>>>
>>> this is a part of a plan to fix keyboard access races in syscons.
>>>
>>> thanks,
>>> max
>>
>> Max,
>>     Why are you double and triple negating on this line?
>>
>> +       return (atomic_cmpset_acq_int(&kbd->kb_locked, !!!on, !!on));
>
> the idea was to ensure that kbd->kb_locked variable only takes values
> 0 (zero) and 1 (one).
>
> thanks,
> max
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>

Maybe it is usefull to report, maybe not.

I'm experiencing keyboard (atkbd) death now and then when inside Xorg once
Xorg is started in following (racey) way:

alias onlyx             "/usr/local/bin/xinit -- -nolisten tcp -br & && exit"

and /etc/csh.logout:

echo $TERM | grep cons25 >> /dev/null && clear && vidcontrol -C

I will test it and report if it fix my "problem".


-- 
Paul



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750812040734g26ecda23pfe646c27521cdc82>