By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,827 Members | 2,155 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,827 IT Pros & Developers. It's quick & easy.

"Interrupted function call" exception while relogging :(

P: n/a
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
Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
lu********@go2.pl (Sylwia) writes:
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
Jul 18 '05 #2

P: n/a

Uzytkownik "Thomas Heller" <th*****@python.net> napisal w wiadomosci >
writes:
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
Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.