"Interrupted function call" exception while relogging :(

S

Sylwia

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
 
T

Thomas Heller

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

Just an idea: you could try to use win32api.Sleep() instead.

Thomas
 
N

Nazgul

Uzytkownik "Thomas Heller said:
Just an idea: you could try to use win32api.Sleep() instead.

Thomas

Thanks! I will try now and let you know if it works for my case... Thanks
for reply!

Best wishes,

Sylwia
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top