Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(25)

Issue 984002: Fix test for kernel-generated signals when re-raising.

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 11 months ago by Jed Davis
Modified:
10 years, 11 months ago
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Testing si_pid to determine if a signal was sent by another process with a
signal like kill() isn't always right.  The si_pid field is valid only when the
signal was actually sent by a process (either with a syscall like kill() or, for
SIGCHLD, by exiting).  In particular, on Linux it overlaps with the si_addr
field, so an actual crash will often have nonzero si_pid.

I think what we actually want to do is test si_code; the Linux kernel reserves
positive values for kernel-generated signals (and this is also specified by XSI,
more or less — see the application usage section of
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html ).

I'm not sure if my patch does the right thing for the SysRq SIGABRT case; if
someone has a pointer to the kernel code that generates it, that would help.

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
src/client/linux/handler/exception_handler.cc View 1 chunk +6 lines, -5 lines 0 comments Download

Messages

Total messages: 1
Ted Mielczarek
10 years, 11 months ago #1
Lei, can you take a look at this?
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted