[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [escepticos] Re: ** FW: virus alert



Pedro Maicas wrote:
>   Me da la impresion de que tus propios prejuicios te estan
> jugando una mala pasada.

	Te aseguro que no.

>   Los programas en windows usan los sockets que necesitan,
> ni más ni menos. Y desde luego se pueden tener bastante más
> de tres conexiones activas a la vez.

	Por supuesto que se que se pueden tener las que quieras :-)

	Realmente me sorprendió, pero es lo que hay. Si cierras el
programa con el botón de "cerrar" se cierran todas las conexiones. Si
sales
del debugger, no. Solamente se cierra una. No hay error posible. Lo
he reproducido varias veces.

>   Eso no puede ser, en algun sitio os habeis equivocado.

	Repito, es, y hay testigos.

>   Esto es típico en windows, cuando un programa no funciona
> se parte de la base de que la culpa es de windows. Yo he
> visto infinidad de casos así, ¡ he encontrado un bug !
> pero luego siempre es una metedura de pata del programador.

	Si cierro un programa sin cerrar sockets el sistema operativo
tiene que cerrarlos. Si no los cierra, chapuza al canto y punto.

>    Mi interpretacion:
> 
>    Es muy posible que no hayas matado el proceso, a pesar de
> que crees haberlo hecho. Tambien es posible que se hayan liberado
> los sockets, aunque tu dices que no es así. Como no se qué lenguaje
> usas, ni que debuger, ni nada.... pues hay poco más que decir.

	Mira, si por parar el depurador bajo cuyo control está el
proceso no desaparece el proceso, entonces también es una chapuza. Pero
en ese caso, ¿por qué demonios se cierra UNO y no LOS TRES?

>    No se porqué, pero me da la impresion de todo esto lo sabían
> los de microsoft antes de que tu nacieras :-)   Perdona, pero es
> que me hace gracia que menosprecies de esa manera a los profesionales
> que trabajan en microsoft. Tal parece que uno se vuelve idiota
> al entrar en esta empresa.

	Pues teniendo en cuenta los diseños de sus sistemas operativos,
y lo bien que funcionan, y que da la casualidad de que he visto muchos
sistemas operativos, no solamente Windows y los Unix, puedo decirlo.
Es un diseño patético. Hay más motivos, pero no me apetece estar toda
la tarde escribiendo. Examina el diseño de más sistemas operativos y
te darás cuenta.

	De hecho, me sorprende que sea tan malo, ya que su arquitecto
jefe se supone que era David Cutler, arquitecto de VMS y RSX-11.

>    Siempre existe la posibilidad de que hayais encontrado realmente
> un bug, pero yo he vivivido varias veces una historia similar y al
> final nunca ha sido realmente un bug.

	Pues lo es. Si cierro y no se cierran las conexiones, problema
del sistema operativo.

>   Bueno, tras pasarme media tarde haciendo pruebas, estoy
> seguro de que estais equivocados. He hecho un programa
> servidor que acepta  conexiones por cuatro puertos distintos
> y va grabando un log, he hecho un cliente que conecta cuatro
> veces a cada uno de los cuatro puertos (total 16 conexiones
> abiertas a la vez), ejecuto varios clientes a la vez, aborto
> los clientes a la brava, tanto pulsando control-alt-del como
> desde el debuger, y el servidor siempre detecta que se ha
> cerrado inesperadamente la conexion, en ningún momento se me
> ha quedado ningún socket ocupado.

	Parando con el botón de cerrar o con el "gestor de tareas"
se cierran bien.

	No abortes desde el debugger. Cierra el debugger sin más
contemplaciones, con el proceso parado en un breakpoint. Si
no está parado, y el problema va por donde pienso (liberación
de recursos en "espacio de usuario") los sockets se cerrarán
sin problemas. El programa está en C++, usando no-se-qué funciones
de la (creo) MFC en lugar de acceder al API de sockets
directamente. No estoy seguro de esto porque no lo he hecho yo.
En cualquier caso, si esto es un bug de MFC, es un fallo grave
en el sistema operativo.


	Te aseguro que lo he visto. Ah, aunque no creo que tenga
nada que ver, era en otra máquina en la red donde se recibían las 
conexiones. Aunque dudo que el interface local se comporte de 
manera diferente al ethernet en este caso...




	Borja.



-- 
***********************************************************************
Borja Marcos			* Internet: borjamar en sarenet.es
Alangoeta, 11 1 izq		*	    borjam en we.lc.ehu.es
48990 - Algorta (Vizcaya)	*           borjam en well.com
SPAIN				*
***********************************************************************