Skip to content

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.

(cherry picked from commit cd54bbbd)

Merge request reports