summaryrefslogtreecommitdiffstats
path: root/native_client_sdk
diff options
context:
space:
mode:
authorsbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-09 01:14:20 +0000
committersbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-09 01:14:20 +0000
commit6cc562af77f973aa7f69c33c5f0c4c4712964e3c (patch)
treec4499cc76a07374fe8c3a2e184e4491b2d2c4089 /native_client_sdk
parent90da00118be561e3bc984e5464df9a89a0c922f5 (diff)
downloadchromium_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.cc6
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;
}