You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Export the four names openkal.exec calls, and refuse for one reason
Two failures, both from the conformance run this change made selective.
⚠️ `VirtualAlloc', `VirtualProtect', `VirtualFree' and
`FlushInstructionCache' were declared in src/win32.h and exported by no
`.def'. This package's own check says so in as many words --- "declared
in src/win32.h and exported by no .def" --- and it is the check that
exists because an import library here is a list of names rather than
code, so a name absent from the list is a link that finds nothing on a
machine without a vendor SDK.
⚠️⚠️ AND `kal_timeout_read' UPON THE STANDARD INPUT HAD TWO REFUSALS
WHERE THE INTERFACE HAS ONE. An earlier form answered a null or invalid
handle with `kal_err_invalid' and a valid non-socket with
`kal_err_not_supported'; a run whose standard input is not attached has a
handle of zero, so both bounded reads in the suite were reported as not
holding.
⭐ The early return was answering a DIFFERENT QUESTION. "Is this handle
valid" is what the unbounded operation answers. What this interface
answers is whether this implementation can bound an operation upon this
resource, and timeout.h sanctions exactly one refusal for that: "AN
IMPLEMENTATION MAY PROVIDE THIS FOR SOME OF ITS RESOURCES AND NOT OTHERS,
and reports kal_err_not_supported for the rest." A handle that is not a
socket is one of the rest, and zero is not a socket.
The name/export reading is also performed here before pushing, so that a
round is not spent discovering a fifth name: 49 declared, 55 exported,
none missing.
0 commit comments