events: Make trace events happen at the right priority.

Also, while we're at it, remember that priorities are in the Event class
and add a disable method to disable tracing.
This commit is contained in:
Nathan Binkert 2009-02-18 10:00:15 -08:00
parent 6cfff91d43
commit c41c9cf3a6
3 changed files with 9 additions and 3 deletions

View file

@ -35,13 +35,16 @@ mainq = internal.event.cvar.mainEventQueue
def create(obj, priority=None):
if priority is None:
priority = internal.event.Event.Default_Pri
priority = Event.Default_Pri
return PythonEvent(obj, priority)
# As a reminder, priorities found in sim/eventq.hh are stuck into the
# Event class by swig
class Event(PythonEvent):
def __init__(self, priority=None):
if priority is None:
priority = internal.event.Event.Default_Pri
priority = Event.Default_Pri
super(Event, self).__init__(self, priority)
class ProgressEvent(Event):

View file

@ -312,7 +312,7 @@ def main():
if options.trace_start:
check_tracing()
e = event.create(trace.enable)
e = event.create(trace.enable, Event.Trace_Enable_Pri)
event.mainq.schedule(e, options.trace_start)
else:
trace.enable()

View file

@ -32,6 +32,9 @@ import util
from internal.trace import clear, output, set, ignore
def disable():
internal.trace.cvar.enabled = False
def enable():
internal.trace.cvar.enabled = True