Bug #6490
closedThe 'printf' method in trace_func is not sent to 'stdout' variable in tracer.rb
Description
Hi,
lib/tracer.rb:189
def trace_func(event, file, line, id, binding, klass, *) # :nodoc:
return if file == FILE
for p in @filters
return unless p.call event, file, line, id, binding, klass
end
return unless Tracer::display_c_call? or
event != "c-call" && event != "c-return"
Tracer::stdout_mutex.synchronize do
if EVENT_SYMBOL[event]
stdout.printf("<%d>", $$) if Tracer::display_process_id?
stdout.printf("#%d:", get_thread_no) if Tracer::display_thread_id?
if line == 0
source = "?\n"
else
source = get_line(file, line)
end
printf("%s:%d:%s:%s: %s",
file,
line,
klass || '',
EVENT_SYMBOL[event],
source)
end
end
end
As you see, the last 'printf' method is not sent to 'stdout' which unfortunately leads to have the output of Tracer print
always to STDOUT.
Files
Updated by mfojtik (Michal Fojtik) over 12 years ago
- File 0001-Bug-6490.patch 0001-Bug-6490.patch added
Attaching patch.
Updated by mame (Yusuke Endoh) over 12 years ago
- Status changed from Open to Assigned
- Assignee set to keiju (Keiju Ishitsuka)
Updated by zzak (zzak _) about 12 years ago
- Assignee changed from keiju (Keiju Ishitsuka) to mame (Yusuke Endoh)
mame, could you look at this?
Keiju-san last connection was over 1 year ago.
Updated by mame (Yusuke Endoh) about 12 years ago
- Assignee changed from mame (Yusuke Endoh) to zzak (zzak _)
Looks good to me. Zachary, could you please apply it to trunk?
I guess that Keiju-san does not read English mail (bad!), so I ask him to check your commit in Japanese.
いしつかさん、
Tracer で stdout.printf とすべきところが printf になっちゃってるという報告です。
大丈夫だと思ったので勝手にコミットしてもらうように言ってしまいましたが、問題あったら対処してください。
--
Yusuke Endoh mame@tsg.ne.jp
Updated by zzak (zzak _) about 12 years ago
- Status changed from Assigned to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r37741.
Michal, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- lib/tracer.rb (Tracer.trace_func): printf to stdout
Patch by Michal Fojtik [ruby-core:45219] [Bug #6490]