]> git.pld-linux.org Git - projects/pld-builder.new.git/blame - PLD_Builder/loop.py
Typo.
[projects/pld-builder.new.git] / PLD_Builder / loop.py
CommitLineData
dfff8bd5
MM
1# vi: encoding=utf-8 ts=8 sts=4 sw=4 et
2
3f446d8f
MM
3import os
4import sys
5import time
6
7import wrap
8
9def run_loop(fnc, secs = 5, max = 60):
dfff8bd5
MM
10 def run():
11 pid = os.fork()
12 if pid == 0:
13 wrap.wrap(fnc)
14 sys.exit(0)
15 else:
16 pid, s = os.waitpid(pid, 0)
17 if os.WIFEXITED(s):
18 s = os.WEXITSTATUS(s)
19 if s != 0:
20 sys.exit(s)
21 else:
22 sys.exit(10)
e6376553 23
dfff8bd5
MM
24 start = time.time()
25 while time.time() - start < max:
26 last = time.time()
27 run()
28 took = time.time() - last
29 if took < secs:
30 time.sleep(secs - took)
This page took 0.106871 seconds and 4 git commands to generate.