[1] https://github.com/WebKit/WebKit/pull/41945 [2] https://github.com/WebKit/WebKit/blob/main/Source/bmalloc/li...
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.
https://hacks.mozilla.org/2022/11/improving-firefox-stabilit...
Seems like a worthwhile change, though I'm not sure when I'll get around to it.
Edit: found the screenshot https://imgur.com/a/w5fnXKS
https://web.archive.org/web/20130407195442/https://blog.kowa...
-Premake supports Visual Studio 2008 and 2010 (and 2012 supports 2010 project files via conversion).
+Premake supports latest Visual Studio 2018 and 2022 project files via conversion).
The port itself is very old and therefore very outdated.
[1] - https://zlib.net/pigz/
Porting one application using pthreads to use the Win32 API directly is however a lot more reasonable and provides you more opportunity to deal with impedance mismatches than a full API shim has. Same goes for dirent and other things as well as for the reverse direction. Some slightly higher level abstraction for the thnings your program actually needs is usually a better solution for cross-platform applications than using one OS API and emulating it on other systems.
https://pc-freak.net/files/hackles.org/cgi-bin/archives.pl%3...
In a threaded server type app where available processor cores are already being utilized, I don't see much real advantage in this --- if any.
this predates the maturation of pg_dump/pg_restore concurrency features :)
The thing with "and pipe to <thing>" is that you then reduce to a serial buffer delay decoding the pipe input. I do this, because often its both logically simple and the component of serial->parallel delay deblocking on a pipe is low.
Which is where xargs and the prefork model comes in, because instead you segment/shard the process, and either don't have a re-unification burden or its a simple serialise over the outputs.
When I know I can shard, and I don't know how to tell the appication to be parallel, this is my path out.