libuv/include/uv-private
Bert Belder d4ff8fd5c1 win: fix unsavory rwlock fallback implementation
Before this patch an uv_mutex_t (backed by a critical section) could be
released by a tread different from the thread that acquired it, which is
not allowed. This is fixed by using a semaphore instead.

Note that the affected code paths were used on Windows XP and Windows
Server 2003 only.

This is a back-port of commits 3eb6764, 1ad6ad7, 9a4fd26, 9823922
85adf43 and bd1777f from the v1.x branch.

Fixes: https://github.com/libuv/libuv/issues/515
Refs: https://github.com/libuv/libuv/pull/525
PR-URL: https://github.com/libuv/libuv/pull/903
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
2016-06-11 09:59:32 +02:00
..
ngx-queue.h unix: use ngx_queue_move when iterating over lists 2015-10-12 01:54:29 +02:00
stdint-msvc2008.h win: support compilation with Visual Studio 2008 2012-10-23 22:55:25 +02:00
tree.h Rename __unused to UV__UNUSED. 2012-04-03 17:41:50 +02:00
uv-bsd.h stream: use kevent() information before accept() 2013-02-09 00:54:08 +04:00
uv-darwin.h unix: revert recent FSEvent changes 2013-10-05 18:24:33 +02:00
uv-linux.h unix: split up uv-unix.h 2012-08-17 16:42:31 +02:00
uv-sunos.h sunos: fix !defined(PORT_SOURCE_FILE) build 2012-12-28 12:45:47 +01:00
uv-unix.h unix, windows: fix uv_fs_chown() function prototype 2013-07-23 13:24:37 +02:00
uv-win.h win: fix unsavory rwlock fallback implementation 2016-06-11 09:59:32 +02:00