Huh? It's not that hard of a problem. You have one (or several) thread
that just reads from network sockets. They package up the requests and put
them on the end of a queue. The other threads just pull requests off the
head of the queue. The trick is all in waking up the sleeping threads when
the queue becomes non-empty without having the "thundering herd" problem.
It is even possible, if you have only one thread adding to the queue, to
implement the queue so that the writing thread doesn't need a lock. Only
the reading threads need a lock. If you have multiple writing threads you
would need a read lock and a write lock. This enables massive amounts of
concurency, and is a huge win on mp systems.
-- "With a touch more confidence and a liberal helping of ignorance I would have been a famous evangelist." -- Stranger In A Strange Land PLENTY of ignorance at http://www.cs.pdx.edu/~idr- 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/