This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Freedce-devel] pthread_clear_exit_np()


On Fri, Apr 21, 2006 at 01:52:58PM -0700, Roland McGrath wrote:
> Have you considered instead using standard features as specified in POSIX
> since around 1996?  

 dce predates the posix standards - that's why all dce projects, some of
 them multi-hundred-million-dollar projects by ibm, fujitsu, EDS etc -
 have had to use posix draft 4 threading.

 the opengroup developers had to make a decision: they couldn't wait
 around for a few years while the POSIX committee made up their minds.

 so all the companies who were running dce/rpc applications had to write
 POSIX Draft 4 threading libraries for their operating systems.

 ibm did it.  sun microsystems did it.  microsoft did it (Win32 threads)
 when they ported the BSD-compatible OSF/1.0 licensed DCE 1.1 reference
 implementation to win32, as the basis of MSRPC.


> What's your plan for other POSIX systems, such as Solaris?

 forget solaris: sun microsystems can deal with solaris.

 linux is the innovation leader, now, not solaris.

 
> If you don't want to cancel threads as cancellation is defined by POSIX,
> then why use cancellation instead of another mechanism that matches your needs?
 
 [long answers first, short one at end]

 because, despite being an absolutely critical strategic project that
 could save key strategic free software projects who are _not_ using it
 about a man-decade of development effort _each_, there is absolutely
 zero recognition of this and therefore absolutely zero funding of the
 project.

 luke howard uses freedce for his XAD project, which is a (proprietary)
 Active Directory replacement that he released THREE YEARS ago (and the
 samba team _still_ haven't got an active directory server replacement
 yet).
 
 XAD is capable of running on IBM z390 mainframes, and luke howard
 has won business awards for his work.


 because, as it is "old" code, with a very archaic and interesting
 development history, it needs work to be brought up-to-date.  and
 because it needs work, and _because_ it is so very comprehensive
 in what it does, people misunderstand and do not appreciate its
 complexity, and therefore think, "i can do better than this", and
 fail miserably, and so it gets ignored.


 the gist is this: the use of cancellation is embedded very deeply into
 the design of this code.

 and there isn't anyone with the time, money, resources or
 immediately-available knowledge to rip a quarter of a million lines of
 code apart looking for a way to shoe-horn some very complex and subtle
 interaction _out_ of freedce so that it fits nicely with POSIX.

 
 anyone think i should try to put the "emulation" bit back
 into dcethreads (to re-wrap the cancellation rules of posix
 draft 4 but to keep the new API) and write redhat off (just
 like charles advised right at the beginning of this thread),
 let me know.

 l.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]