Rui said:
According to Microsoft's site, their pthreads implementation was released in
2004 and it conforms to IEEE 1003.1-2001. As that standard was updated in
2004 to include an errata and after that ony in 2008 then I fail to see your
point.
You emphasise my point while failing to see it, which is curious.
Windows Services for UNIX 3.5 implements a subset of pthreads as defined
by POSIX 2001. The current definition of pthreads is provided by POSIX
2008, two generations of POSIX later. The version of POSIX threads
implemented for the POSIX subsystem of Windows is a subset of POSIX
threads as it was defined seven years and two generations before the
current POSIX Standard.
It appears you are confused.
I don't believe so.
Larry Jones' assertion was that "POSIX threads
cannot be implemented on top of Windows", which was already demonstrated to
be false.
I've not seen any such demonstration. An implementation of a subset of
an old version of pthreads for an isolated subsystem which is rarely if
ever used but happens to run on Windows' NT kernel is hardly relevant.
I don't know what you mean by "can only be used in programs
running in the POSIX subsystem"
I mean exactly what I say. Almost everyone, in almost every
circumstance, when talking about writing user-level software for
"Windows", is talking about writing software for "the Win32 subsystem on
Windows". I don't know Larry, but I'll happily bet that's what he meant
since that is what almost everyone almost always means by that
shorthand. Most people who write user-mode software for Windows aren't
even aware that other subsystems can run on the NT kernel. Even if there
were a conforming implementation of pthreads which could run in the
POSIX subsystem on top of NT, what possible relevance is that to the
99.99999% of Windows user mode software which runs in the Win32
subsystem? That software can't make any use the pthreads implementation,
it can't use it instead of the Win32 threading primitives, it can't
interact with it.
but independent of what you meant, but that
doesn't contradict the fact that it is quite possible to provide a standard-
conforming pthreads interface to windows.
Even the implementation which runs in the POSIX subsystem doesn't
conform to POSIX; what evidence do you have for this claim that it is
possible to provide a conforming implementation for use by Windows
programmers, which means one that runs in the Win32 subsystem?
And if it is possible to provide
an API in an OS then the only thing that stops you from using it is your
will to use it.
If it is possible, and if someone reliable chooses to implement and
supply such an implementation for the Win32 subsystem at no additional
cost, then you are obviously quite right and there wouldn't be this
discussion. In this world though, no such implementation exists and
there are doubts that one is even possible.