"Interrupted function call" exception in Python service while relogging

Nazgul lubowiecka at go2.pl
Thu Jan 8 10:43:54 CET 2004


Hi!
Sorry if I posted it twice...
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