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