ruby-changes:29879
From: nobu <ko1@a...>
Date: Fri, 12 Jul 2013 16:38:34 +0900 (JST)
Subject: [ruby-changes:29879] nobu:r41931 (trunk): signal.c: for valgrind
nobu 2013-07-12 16:37:31 +0900 (Fri, 12 Jul 2013) New Revision: 41931 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=41931 Log: signal.c: for valgrind * signal.c (ruby_signal): suppress valgrind error in install_sighandler(). Modified files: trunk/signal.c Index: signal.c =================================================================== --- signal.c (revision 41930) +++ signal.c (revision 41931) @@ -23,6 +23,19 @@ https://github.com/ruby/ruby/blob/trunk/signal.c#L23 # include <unistd.h> #endif +#ifdef HAVE_VALGRIND_MEMCHECK_H +# include <valgrind/memcheck.h> +# ifndef VALGRIND_MAKE_MEM_DEFINED +# define VALGRIND_MAKE_MEM_DEFINED(p, n) VALGRIND_MAKE_READABLE((p), (n)) +# endif +# ifndef VALGRIND_MAKE_MEM_UNDEFINED +# define VALGRIND_MAKE_MEM_UNDEFINED(p, n) VALGRIND_MAKE_WRITABLE((p), (n)) +# endif +#else +# define VALGRIND_MAKE_MEM_DEFINED(p, n) 0 +# define VALGRIND_MAKE_MEM_UNDEFINED(p, n) 0 +#endif + #if defined(__native_client__) && defined(NACL_NEWLIB) # include "nacl/signal.h" #endif @@ -521,6 +534,7 @@ ruby_signal(int signum, sighandler_t han https://github.com/ruby/ruby/blob/trunk/signal.c#L534 ) sigact.sa_flags |= SA_ONSTACK; #endif + VALGRIND_MAKE_MEM_DEFINED(&old, sizeof(old)); if (sigaction(signum, &sigact, &old) < 0) { if (errno != 0 && errno != EINVAL) { rb_bug_errno("sigaction", errno); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/