[Zope] IsDaZope: a Zope checker and relauncher

Jerome Alet alet@unice.fr
Wed, 26 Apr 2000 10:18:56 +0200 (MET DST)


On Tue, 25 Apr 2000, Jason Spisak wrote:

> You want to hang your Zope?
> 
> Create this DTMLMethod inside a ZClass that inherits from nothing:
> 
> <dtml-in "_.range(0, 105, 5)">
>   <option value="<dtml-var "_.float(_['sequence-item'])/1000">">
>    <dtml-var "_.float(_['sequence-item'])/10">%
>   </option>
> </dtml-in>

Ok, it hangs zope. Now I can hang it when I want.

unfortunately my program doesn't detect it, it seems that urllib.urlopen()
blocks and doesn't allow my alarm handler to be called in this situation.

here's a part of the program:

	#
	# now we set the alarm handler and set the timeout
	signal.signal(signal.SIGALRM, alarm_handler)
	signal.alarm(timeout)
	
	#
	# now we try to open the connection
	url = urllib.urlopen("http://%s:%i" % (host, port))

	#
	# stop the alarm
	signal.alarm(0)

Anyone has an idea of what is wrong in this code ?

thanks.
Jerome