RFC: small syscons and kbd patch

Paul B. Mahol onemda at gmail.com
Thu Dec 4 07:34:43 PST 2008


On 12/4/08, Maksim Yevmenkin <maksim.yevmenkin at gmail.com> wrote:
> On Thu, Dec 4, 2008 at 3:24 AM, Garrett Cooper <yanefbsd at gmail.com> wrote:
>> On Tue, Dec 2, 2008 at 5:01 PM, Maksim Yevmenkin
>> <maksim.yevmenkin at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at 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


More information about the freebsd-current mailing list