Conversation
Instead of littering source file with #ifdef _WIN32, we create a wrapper for the POSIX calls that uses "int fd;". As we need to use HANDLEs to open devices, we implement alternate versions of the POSIX functions that take HANDLEs instead. Currently the implementation uses simple cast between HANDLE and int, should we find that the missing bits (64bit -> 32bit) to be a problem the shim layer could further be enhanced to handle this case. The functions that have a whole WIN32 replacement are left to use WIN32 specific code, but as much as possible remains unchanged from upstream.
Implement minimal skeleton code for fastio ability, mostly to test if it changes anything with the long-time standing issues. It does not, appears to be optional as it says on the tin.
|
Something goes wrong here with writes; if we start a simple: It will initially write as expected, but eventually we end up in a peculiar state. The writing thread appears to do: Where We do get calls to Ie, this write should go to cache, as I totally also expect to see calls to So it would appear we get fastio writes until memory is exhausted and it stalled. Meanwhile, we do not get the lazywrites, they appear to not happen. We do not seem to have any threads stuck waiting on locks, nor are the lazy/fastio lock calls even called. |
No description provided.