Alf P. Steinbach wrote:
Best is however to recognize that you have some state (your variable)
and some operations on that state (your callback), and that that is what
objects are all about. I.e. wrap your logic in a class. Then
'lastModifiedTime' becomes an instance attribute, and 'handler' becomes
a method.
It doesn't matter that there will only ever be one object (instance) of
that class.
Classes were meant for just this sort of thing, state + operations.
Yes. Functions with persistent state are generally a bad idea.
Unfortunately, the "signal" module requires a callback parameter
which is a plain function. So you have to send it a function,
closure, or lambda. Here, it's being sent a closure - "handler"
bound to the state that existed when "signal.signal" was called.
John Nagle
--
http://mail.python.org/mailman/listinfo/python-list