svn commit: r273958 - head/sys/dev/random
Mark R V Murray
mark at grondar.org
Sun Nov 2 19:24:16 UTC 2014
> On 2 Nov 2014, at 19:20, Konstantin Belousov <kostikbel at gmail.com> wrote:
>
> On Sun, Nov 02, 2014 at 11:05:27AM -0800, Adrian Chadd wrote:
>> [snip all the conversation]
>>
>> Ok. There's still a problem that I can trigger by trying to Ctrl-C a
>> process that's blocked reading for randomness. I'll try to chase up
>> more details about and file a PR about it.
>>
>> The unfortunate part is that the kernel side stack trace of the
>> offending / hung process isn't currently helpful. :(
>>
>
>> From what I see, signals are essentially ignored in the read code.
> See random_adaptors.c:random_adaptor_read():
>
> /* Sleep instead of going into a spin-frenzy */
> tsleep(&random_adaptor, PUSER | PCATCH, "block", hz/10);
>
> The error which would indicate the signal catch, is dropped. Also,
> unbound sleep does not drop random_adaptor_lock, which means that
> you cannot module which could provide some more randomness for you,
> while any thread is stuck in read loop.
Hi
I don’t quite follow what you mean, but it sounds like you understand
the problem. Could you please explain with a bit more detail?
Thanks,
M
--
Mark R V Murray
More information about the svn-src-all
mailing list