--- Alvaro Herrera <[EMAIL PROTECTED]> escribió:
> rodrigo ahumada escribió:
> > hola
> >
> > tengo la siguiente consulta:
> >
> > es posible que un proceso traspase un FD a otro
> > proceso?
> >
> > es decir, por ejemplo creo un proceso que lance un
> > socket servidor, y que continuamente este
> ejecutando
> > accept, con eso obtiene un socket cliente, y se lo
> > "inyecta" a otro proceso para que trabaje con
> el...
> >
> > ya se que puede usarse fork, pero la idea es que
> el
> > proceso acepte nuevos FD despues de haber sido
> creado.
>
> No. Quizas podrias usar threads para eso pero yo no
> te lo recomendaria.
>
> Es muy caro el fork? Nota: eso que describes es lo
> que Postgres hace.
bueno, en linux esta harto optimizado, pero la mejor
forma de atender a 20000 sockets es lanzar N procesos
o hebras (N = numero de cpus), y que estos se encargen
de 20000/N sockets cada uno mediante poll (o epoll)
no?
____________________________________________________________________________________
¡Sé un mejor ambientalista!
Encontrá consejos para cuidar el lugar donde vivimos en
http://ar.yahoo.com/promos/mejorambientalista.html
From [EMAIL PROTECTED] Mon Aug 20 18:01:34 2007
From: [EMAIL PROTECTED] (Alvaro Herrera)
Date: Mon Aug 20 18:03:46 2007
Subject: traspasar FD entre procesos
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
rodrigo ahumada escribió:
>
> --- Alvaro Herrera <[EMAIL PROTECTED]> escribió:
>
> > rodrigo ahumada escribió:
> > > hola
> > >
> > > tengo la siguiente consulta:
> > >
> > > es posible que un proceso traspase un FD a otro
> > > proceso?
> > >
> > > es decir, por ejemplo creo un proceso que lance un
> > > socket servidor, y que continuamente este
> > ejecutando
> > > accept, con eso obtiene un socket cliente, y se lo
> > > "inyecta" a otro proceso para que trabaje con
> > el...
> > >
> > > ya se que puede usarse fork, pero la idea es que
> > el
> > > proceso acepte nuevos FD despues de haber sido
> > creado.
> >
> > No. Quizas podrias usar threads para eso pero yo no
> > te lo recomendaria.
> >
> > Es muy caro el fork? Nota: eso que describes es lo
> > que Postgres hace.
>
> bueno, en linux esta harto optimizado, pero la mejor
> forma de atender a 20000 sockets es lanzar N procesos
> o hebras (N = numero de cpus), y que estos se encargen
> de 20000/N sockets cada uno mediante poll (o epoll)
> no?
No necesariamente; depende de que tipo de procesamiento haya en la
atencion a cada uno. Si es sencillo, claro, eso puede ser lo mejor. De
lo contrario atender a uno puede dejar esperando al resto durante mucho
tiempo.
--
Alvaro Herrera http://www.flickr.com/photos/alvherre/
"El destino baraja y nosotros jugamos" (A. Schopenhauer)
From [EMAIL PROTECTED] Mon Aug 20 18:41:11 2007
From: [EMAIL PROTECTED] (Alc0z.dtp)
Date: Mon Aug 20 18:44:31 2007
Subject: Problemas con interface de Red
Message-ID: <[EMAIL PROTECTED]>
Estimados de la lista.
Bueno voy al grano, despues de googlear mucho y revisar documentacion y
sus foros por ahi no he podido solucionar mi problema y espero poder
obtner alguna pista.
Tengo un notebook con Debian etch con dos interfaces de red una wi-fi y
otra ethernet.
El problema se presenta con la ethernet "cuando no inicio con el cable
conectado a dicha interface" (en mi caso eth1) no hay forma de hacerla
funcionar se queda como muerta, he probado varios comandos y no hay como
resucitarla (hasta ahora por lo que he probado), pero cuando es el caso
contrario y al bootear con el cable de red conectado este se reconoce
sin dramas y puedo cambiar entre redes inalambricas y cableadas sin
problemas con el networkmanager (gnome).
he probado con hacer el /etc/init.d/networking restart y se queda un
rato intentando obtener el del dhcp la configuracion pero no lo logra
acto seguido he revisado /var/log/messages y la interface me aparece
down.
-----------------------------------------------------------------
Aug 18 01:44:32 mobilet kernel: r8169: eth1: link down
Aug 18 01:44:32 mobilet kernel: ADDRCONF(NETDEV_UP): eth1: link is not
ready
Aug 18 01:45:30 mobilet kernel: r8169: eth1: link down
Aug 18 01:45:30 mobilet kernel: ADDRCONF(NETDEV_UP): eth1: link is not
ready
-----------------------------------------------------------------
siendo que el cable de red esta conectado y el modulo r8169 esta
cargado.
mi config del /etc/network/interfaces.
-----------------------------------------------------------------
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet dhcp
-----------------------------------------------------------------
tambien he probado con configuraciones estaticas, noauto, ifplug, etc.
no se que puedo hacer pues la interface ni con ifconfig eth1 un , ip
link set eth1 up reacciona.(el comando no arroja ningun error al
ejecutarlo)
es como que si desde el inicio si no esta conectada ya no hay caso.
salida del comando ip link show (por si sirve)
------------------------------------------------------------------
mobilet:/home/pedro# ip link show
1: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
qlen 1000
link/ether 00:17:31:2e:28:9a brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen
1000
link/ieee1394 00:e0:18:00:03:55:08:b2 brd ff:ff:ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen
1000
link/ether 00:13:02:01:d3:bf brd ff:ff:ff:ff:ff:ff
5: sit0: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
------------------------------------------------------------------
por ultimo el dmesg (que es igual que el del /var/log/messages
------------------------------------------------------------------
r8169: eth1: link down
ADDRCONF(NETDEV_UP): eth1: link is not ready
------------------------------------------------------------------
Por ultimo agrego que esto sucede con o sin NetworkManager corriendo y
con o sin la wi-fi Funcionando.
Solo se revierte cuando se bootea con el cable conectado a la eth1.
espero alguien tenga idea de que puede estar sucediendo.
De antemano gracias por su tiempo y posibles respuestas.
--
.:|Alc0z.dtp (UTFSM)|:.