On Tue, May 21, 2019 at 2:32 PM Ivan Zhakov <[email protected]> wrote:

> >
> > More specifically, I would like to:
> >
> > 1. Use native Slim Reader/Writer (SRW) locks [1] for apr_rwlock.
> >
> >    Windows SRW locks are extremely performant (100x times) and also the
> >    current APR implementation has known bugs [2].
> >
> >    Although the basic SRW API is available since Windows Vista, the Try*
> >    functions that required for the implementation are only available
> since
> >    Windows 7 [3].
> >
> Done in r1859584.
>
> > 2. Use SetThreadErrorMode() [4] instead of SetErrorMode() because
> >    SetErrorMode() is not thread safe.
> >
> >    This new API is available since Windows 7.
> >
> Done in r1859519.
>
> > 3. Use BCrypt API instead of CryptoAPI as an entropy source.
> >
> >    Although the BCrypt API by itself is available starting from Windows
> Vista,
> >    an important `BCRYPT_USE_SYSTEM_PREFERRED_RNG` flag can only be
> >    used on Windows 7 and later.
> >
> Done in r1859608.
>
> > 4. Use native one-time initialization [5] for apr_thread_once_t.
> >
> >    The current Win32 implementation has a problem that it can return
> before
> >    the other thread completes initialization.
> >
> >    This particular API is available starting from Windows Vista.
> >
> Done in r1859517.


Tremendous progress, thanks for all of your efforts! I just finished a
visual review yesterday.

I don't know whom of us will jump on removing the ANSI logic first, but
that's next on the chopping block with unanimous consent.

Again, thanks!

Bill

 (And yes, I was referring to DisconnectEx() in the earlier dialog.)

Reply via email to