]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add trampoline around iocompletionport_createthreads()
authorOndřej Surý <ondrej@sury.org>
Thu, 29 Apr 2021 12:43:45 +0000 (14:43 +0200)
committerOndřej Surý <ondrej@sury.org>
Mon, 3 May 2021 18:21:15 +0000 (20:21 +0200)
commitcd54bbbd9ab195a829f965294b8f06d4e5092d0c
tree8cbb4eaa61aeb626d333786e6f48b02b6ea172a8
parent9dedfcdda6f1afafe7c7eb7abfa9c4796402d4cb
Add trampoline around iocompletionport_createthreads()

On Windows, the iocompletionport_createthreads() didn't use
isc_thread_create() to create new threads for processing IO, but just a
simple CreateThread() function that completely circumvent the
isc_trampoline mechanism to initialize global isc_tid_v.  This lead to
segmentation fault in isc_hp API because '-1' isn't valid index to the
hazard pointer array.

This commit changes the iocompletionport_createthreads() to use
isc_thread_create() instead of CreateThread() to properly initialize
isc_tid_v.
lib/isc/win32/socket.c