OS crashes at ibqReadTimeout when kernel checks enabled.
The code looks like this
Code: Select all
deadline = osalTimeAddX(osalOsGetSystemTimeX(), timeout);
but, streamRead calls ibqReadTimeout with TIME_INFINITE and osalTimeAddX can't pass the checks.
I made a very ugly solution
Code: Select all
if (timeout != TIME_INFINITE)
deadline = osalTimeAddX(osalOsGetSystemTimeX(), timeout);
I do not understand how to do it beautifully.
Need to make it beautiful, because all the OS code is written beautifully.
It is very strange that no one has discovered this before. Surely no one uses the kernel checks?
PS
obqWriteTimeout has some flaw.