Ladeni multithreadove aplikace
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Pondělí Leden 24 21:21:49 CET 2000
On Sun, 23 Jan 2000, Petr Novotny wrote:
> On 23 Jan 00, at 15:46, Michal Krause wrote:
>
> > A dalsi vec, kterou jsem
> > nebyl schopen vyresit je, jak si predat mezi procesy otevreny socket,
> > coz povazuji za nejefektivnejsi zpusob (nezda se mi optimalni data ze
> > socketu i cist a predavat je zkrz rouru pracovnimu procesu).
>
> Nedela nahodou Apache presne tohle? (Jako ze rodic httpd
> prevezme konekci, a preda ji nejakemu bezicimu diteti.) Pres fcntl
> je mozno filedeskriptoru zmenit vlastnika - a mel jsem pocit, ze
> cisla deskriptoru jsou per-system, ne per-proces. Takze by melo
> stacit predani jednoho cisla - ale dost mozna se pletu.
Ne. Apache tohle nedela...v Apachovi je to tak, ze vsichni potomci drzi
poslouchajici socket a zkousi na nej accept() a jadro si nektery z nich
vybere (zjednoduseno).
Nicmene prenaset filedeskriptory mezi procesy lze. Je to trochu magie,
ale funguje to. Ilustrativni priklad je gnome-pty-helper.
--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."
Další informace o konferenci Linux