| Uh, well, er, ah... thanks, Jeff, but...
Yeah, I wrote a brief document once upon a time to describe changes in the
POSIX drafts. It was NOT intended for general distribution. Furthermore, I
originally wrote it to describe the changes from draft 4 ("DCE threads") to
draft 7, which was the first draft that we (the POSIX working group) thought
had a realistic chance of passing. It didn't, and we went on to draft 8,
draft 9, and finally draft 10 before a real standard was approved. I updated
the original document for draft 8, (way back in January 1994), but after that
I never found time to get back to it. While the changes in draft 9 and 10,
and the additional changes resulting from the merge of 1003.1c-1995 with
1003.1b-1993 were "relatively minor", they add up to enough that the existing
document is dangerously inaccurate with respect to the final standard and our
implementation of it.
> 1. Do we have white-papers on this or anything that details the changes
> and how to upgrade code?
Some of that document became the basis for the Migration section of Appendix
G in the Guide to DECthreads for Digital UNIX 4.0 and OpenVMS 7.0, although
Appendix G is less complete.
Perhaps I can find a few hours in the near future to update the document. If
so, I'll post it (or a pointer).
Also, although I would strongly recommend migrating to POSIX threads when
moving to Digital UNIX 4.0, it's not essential. Digital UNIX 4.0 continues to
support the DCE threads interfaces. For most threaded code, no source changes
are required, although there are a few O/S-imposed changes to the thread
signal model. (The POSIX thread signal model is very different from the DCE
thread model; and because the older DEC OSF/1 threaded signal model was
completely broken anyway, and nearly useless, we didn't attempt much in the
way of binary compatibility.) Although the DCE thread interface is officially
RETIRED, the unfortunate fact of the matter is that, until OSF modifies the
DCE specification to use POSIX threads instead of DCE threads, we probably
won't be able to actually remove support.
> 2. Can the porting assistant be used to point out areas of code that
> needs to be changed for compliance to 1003.1c standards and 1003.1b?
There is no such thing as a "porting assistant" to automatically identify
thread changes.
> 3. In general, is there a document that explains what application
> development impacts are between the two versions?
Aside from any changes implied by the differences in syntax, I'm not sure
what you mean by this. Although there will be a lot of source changes to
migrate from DCE threads to POSIX threads, it doesn't require any algorithm
changes. There are no sweeping changes to the thread model -- just
syntactical changes and a few minor semantic changes (most of them in the
area of signal handling).
/dave
|