This is the mail archive of the gdb-prs@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: threads/259: Thread receives Interrupted System Call error while waiting on message queue.


Synopsis: Thread receives Interrupted System Call error while waiting on message queue.

State-Changed-From-To: open->closed
State-Changed-By: chastain
State-Changed-When: Wed Nov 26 23:41:03 2003
State-Changed-Why:
    Hello,
    
    Thanks for your gdb bug report from 2001-12-14.
    
    Your analysis in the description is correct.  When a program is run under gdb, and the program creates or destroys a thread, and another thread in the program is inside a system call, the system call may return with -EINTR.
    
    That's because gdb puts hidden breakpoints on certain functions like thread creation so that it can track these events.  The same thing happens with user breakpoints, but it's more nasty to the gdb user when it happens with an internal implementation breakpoint.
    
    The next version of gdb will have a section in the manual documenting this limitation.  It's in the index under "thread breakpoints and system calls".
    
    You can wrap your system calls in loops that check for -EINTR and retry the system call.
    
    Michael C
    GDB QA Guy

http://sources.redhat.com/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gdb&pr=259


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]