"Interrupted function call" exception while relogging :(

Sylwia lubowiecka at go2.pl
Thu Jan 8 10:03:40 CET 2004


Hi!

I need your help...

I have the following problem. I've implemented the python Windows
Service which behaves like a log supervisor. If the space

used by log files is bigger than a given upper limit, then it starts
to delete log files until the space is less than a given

lower limit. I configured the service to start up automatically on
system boot. The script checks the space used by log files

every 1000 secs. After analyse of the space, it falls asleep
(time.sleep(1000)). Everything works OK, except one thing...

Since the service is not tied to the user ID of the person starting
it, the service should remain open even when that person

who started it logs off. So I made an experiment and relogged. After
that it turned out that the service stopped working. The

Event Viewer returned the error:

"SvcDoRun
    time.sleep(1000) 
 exceptions.IOError: [Errno 4] Interrupted function call
"
I use Window XP OS and Python and Python 2.3.2 

I guess that some asynchronous signal was caught by the process during
the execution of an interruptible function

(time.sleep(1000)). Maybe it happened while pressing Ctrl+Alt+Del
sequence during logging? Maybe I should add some signal

handling?
Unfortunately the Windows signal implementation is limited to 6
signals(???):

SIGABRT Abnormal termination 
SIGFPE Floating-point error 
SIGILL Illegal instruction 
SIGINT CTRL+C signal 
SIGSEGV Illegal storage access 
SIGTERM Termination request 

Please help me...

Best wishes,

Sylwia



More information about the Python-list mailing list