Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
949d8c98
Commit
949d8c98
authored
May 30, 2012
by
Victor Stinner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Close #14690: Use monotonic clock instead of system clock in the sched,
subprocess and trace modules.
parent
5e92a1ef
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
23 additions
and
8 deletions
+23
-8
Lib/sched.py
Lib/sched.py
+5
-1
Lib/subprocess.py
Lib/subprocess.py
+8
-4
Lib/trace.py
Lib/trace.py
+7
-3
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/sched.py
View file @
949d8c98
...
...
@@ -35,6 +35,10 @@ try:
import
threading
except
ImportError
:
import
dummy_threading
as
threading
try
:
from
time
import
monotonic
as
_time
except
ImportError
:
from
time
import
time
as
_time
__all__
=
[
"scheduler"
]
...
...
@@ -48,7 +52,7 @@ class Event(namedtuple('Event', 'time, priority, action, argument, kwargs')):
class
scheduler
:
def
__init__
(
self
,
timefunc
=
time
.
time
,
delayfunc
=
time
.
sleep
):
def
__init__
(
self
,
timefunc
=
_
time
,
delayfunc
=
time
.
sleep
):
"""Initialize a new instance, passing the time and delay
functions"""
self
.
_queue
=
[]
...
...
Lib/subprocess.py
View file @
949d8c98
...
...
@@ -349,6 +349,10 @@ import signal
import
builtins
import
warnings
import
errno
try
:
from
time
import
monotonic
as
_time
except
ImportError
:
from
time
import
time
as
_time
# Exception classes used by this module.
class
SubprocessError
(
Exception
):
pass
...
...
@@ -894,7 +898,7 @@ class Popen(object):
self
.
wait
()
else
:
if
timeout
is
not
None
:
endtime
=
time
.
time
()
+
timeout
endtime
=
_
time
()
+
timeout
else
:
endtime
=
None
...
...
@@ -917,14 +921,14 @@ class Popen(object):
if
endtime
is
None
:
return
None
else
:
return
endtime
-
time
.
time
()
return
endtime
-
_
time
()
def
_check_timeout
(
self
,
endtime
,
orig_timeout
):
"""Convenience for checking if a timeout has expired."""
if
endtime
is
None
:
return
if
time
.
time
()
>
endtime
:
if
_
time
()
>
endtime
:
raise
TimeoutExpired
(
self
.
args
,
orig_timeout
)
...
...
@@ -1471,7 +1475,7 @@ class Popen(object):
# printing.
if
endtime
is
not
None
or
timeout
is
not
None
:
if
endtime
is
None
:
endtime
=
time
.
time
()
+
timeout
endtime
=
_
time
()
+
timeout
elif
timeout
is
None
:
timeout
=
self
.
_remaining_time
(
endtime
)
...
...
Lib/trace.py
View file @
949d8c98
...
...
@@ -61,6 +61,10 @@ import gc
import
dis
import
pickle
from
warnings
import
warn
as
_warn
try
:
from
time
import
monotonic
as
_time
except
ImportError
:
from
time
import
time
as
_time
try
:
import
threading
...
...
@@ -476,7 +480,7 @@ class Trace:
self
.
_caller_cache
=
{}
self
.
start_time
=
None
if
timing
:
self
.
start_time
=
time
.
time
()
self
.
start_time
=
_
time
()
if
countcallers
:
self
.
globaltrace
=
self
.
globaltrace_trackcallers
elif
countfuncs
:
...
...
@@ -614,7 +618,7 @@ class Trace:
self
.
counts
[
key
]
=
self
.
counts
.
get
(
key
,
0
)
+
1
if
self
.
start_time
:
print
(
'%.2f'
%
(
time
.
time
()
-
self
.
start_time
),
end
=
' '
)
print
(
'%.2f'
%
(
_
time
()
-
self
.
start_time
),
end
=
' '
)
bname
=
os
.
path
.
basename
(
filename
)
print
(
"%s(%d): %s"
%
(
bname
,
lineno
,
linecache
.
getline
(
filename
,
lineno
)),
end
=
''
)
...
...
@@ -627,7 +631,7 @@ class Trace:
lineno
=
frame
.
f_lineno
if
self
.
start_time
:
print
(
'%.2f'
%
(
time
.
time
()
-
self
.
start_time
),
end
=
' '
)
print
(
'%.2f'
%
(
_
time
()
-
self
.
start_time
),
end
=
' '
)
bname
=
os
.
path
.
basename
(
filename
)
print
(
"%s(%d): %s"
%
(
bname
,
lineno
,
linecache
.
getline
(
filename
,
lineno
)),
end
=
''
)
...
...
Misc/NEWS
View file @
949d8c98
...
...
@@ -60,6 +60,9 @@ Core and Builtins
Library
-------
- Issue #14690: Use monotonic clock instead of system clock in the sched,
subprocess and trace modules.
- Issue #14958: Change IDLE systax highlighting to recognize all string and
byte literals supported in Python 3.3.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment