diff options
author | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-09 01:14:20 +0000 |
---|---|---|
committer | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-09 01:14:20 +0000 |
commit | 6cc562af77f973aa7f69c33c5f0c4c4712964e3c (patch) | |
tree | c4499cc76a07374fe8c3a2e184e4491b2d2c4089 /native_client_sdk | |
parent | 90da00118be561e3bc984e5464df9a89a0c922f5 (diff) | |
download | chromium_src-6cc562af77f973aa7f69c33c5f0c4c4712964e3c.zip chromium_src-6cc562af77f973aa7f69c33c5f0c4c4712964e3c.tar.gz chromium_src-6cc562af77f973aa7f69c33c5f0c4c4712964e3c.tar.bz2 |
[NaCl SDK] nacl_io: signal() and sigset() return SIG_DFL by default.
SIG_IGN has a special meaning and should not be returned
by default. This was confusing readline in naclports.
R=binji@chromium.org
Review URL: https://codereview.chromium.org/65363005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234060 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'native_client_sdk')
-rw-r--r-- | native_client_sdk/src/libraries/nacl_io/kernel_proxy.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/native_client_sdk/src/libraries/nacl_io/kernel_proxy.cc b/native_client_sdk/src/libraries/nacl_io/kernel_proxy.cc index 1d26e0b..71018cd 100644 --- a/native_client_sdk/src/libraries/nacl_io/kernel_proxy.cc +++ b/native_client_sdk/src/libraries/nacl_io/kernel_proxy.cc @@ -50,7 +50,7 @@ namespace nacl_io { KernelProxy::KernelProxy() : dev_(0), ppapi_(NULL), - sigwinch_handler_(SIG_IGN), + sigwinch_handler_(SIG_DFL), signal_emitter_(new EventEmitter) { } @@ -890,7 +890,7 @@ int KernelProxy::kill(pid_t pid, int sig) { signal_emitter_->RaiseEvents_Locked(POLLERR); switch (sig) { case SIGWINCH: - if (sigwinch_handler_ != SIG_IGN) + if (sigwinch_handler_ != SIG_IGN && sigwinch_handler_ != SIG_DFL) sigwinch_handler_(SIGWINCH); break; @@ -910,8 +910,6 @@ sighandler_t KernelProxy::sigset(int signum, sighandler_t handler) { // Handled signals. case SIGWINCH: { sighandler_t old_value = sigwinch_handler_; - if (handler == SIG_DFL) - handler = SIG_IGN; sigwinch_handler_ = handler; return old_value; } |