OK to add _STRACE_FORK category?

Ryan Johnson ryan.johnson@cs.utoronto.ca
Tue May 10 13:32:00 GMT 2011


On 10/05/2011 6:09 AM, Corinna Vinschen wrote:
> On May  4 15:33, Ryan Johnson wrote:
>> Hi all,
>>
>> I'm currently producing sending quite a bit of information to
>> special_printf while forking, and suspect that at least some of it
>> would be good to leave in place. Further, I think it would make
>> sense to have a fork category for strace so that people trying to
>> diagnose fork problems have a way to figure out what's going wrong
>> without having to slog through strace's all/debug output:
>>
>>          thread   0x040000 (_STRACE_THREAD)   Thread-locking calls.
>> +       fork     0x080000 (_STRACE_FORK)     Fork-related information.
>>          special  0x100000 (_STRACE_SPECIAL)  Special debugging printfs for
>>                                               non-checked-in code
>>
>>
>> If folks are all right seeing an _STRACE_FORK appear, I'll add that
> I just noticed that I never replied.  Please use sigproc_printf and
> debug_printf.  However, fork has already a lot of strace output, so
> it would be favorable to keep the number of extra printfs as small
> as possible.  Maybe there are even some we should remove.
sigproc_printf: ack.

As for the quantity of output, I'm torn. Whenever Windows throws a new 
curveball at fork() the first step will always be to figure out what new 
thing went wrong (or what existing thing is suddenly going wrong more 
often), and I've added special_printf calls which expose this 
information in a fair amount of detail. Problem is, AFAICT *_printf 
calls execute fully whenever strace is active, with strace performing 
the filtering on its side. This means a lot of unwanted overhead most of 
the time. Perhaps I should leave the calls there, with an #ifdef 
(DEBUGGING?) so future developers don't have to reinvent the wheel next 
time around?

Ryan



More information about the Cygwin-developers mailing list