lkml.org 
[lkml]   [1999]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: What I suspect


On Wed, 8 Dec 1999, Mike Shaver wrote:
>
> poll() and select() are pretty commonly overriden, though: if you want
> to do user-space threads, as with Communicator 4.x (and Mozilla, if you
> build it with the right options), you want to override lots of
> potentially-blocking IO operations to schedule your threads
> accordingly. I think this is how the green-threads JVMs work, too.

threading libraries are magical. They often do things that nobody else
does: threading libraries are also the main reason why things like
"sigreturn()" have to have a well-defined meaning (in theory, normal user
mode should never care about signal stack layout, but user-mode thread
libraries tend to use the signal stack for their own thread switching).

This is going to continue to be an issue, but it's going to get less over
time. Fewer programs use their own threading libraries and are starting to
just rely on the standard libc pthreads support. Which is good.

> Any program that wants to use the boehm collector will also override
> malloc(), and that seems like a pretty reasonable thing to want to do.

This is why we want to have the ELF dynamic capabilities in the first
place. No question about that, and I'm certainly not arguing against the
beauty of weak symbols and dynamic linking as a way to do things you
couldn't easily do otherwise.

But we're still talking about a small small subset of "normal programs".

Linus


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.059 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site