top | item 44360930

(no title)

igrunert | 8 months ago

I recently ported WebKit's libpas memory allocator[1] to Windows, which used pthreads on the Linux and Darwin ports. Depending on what pthreads features you're using it's not that much code to shim to Windows APIs. It's around ~200 LOC[2] for WebKit's usage, which a lot smaller than pthread-win32.

[1] https://github.com/WebKit/WebKit/pull/41945 [2] https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/li...

discuss

order

kjksf|8 months ago

At the time (11 years ago) I wanted this to run on Windows XP.

The APIs you use there (e.g. SleepConditionVariableSRW()) were only added in Vista.

I assume a big chunk of pthread emulation code at that time was implementing things like that.

adzm|8 months ago

Never knew about the destructor feature for fiber local allocations!