X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Finclude%2Flinux%2Fsignal.h;h=ddd1e6866a54e935247d35db349ee100863c45b1;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=561a1283ee979a4d391f5a8830fa05e836305cdb;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/include/linux/signal.h b/kernel/include/linux/signal.h index 561a1283e..ddd1e6866 100644 --- a/kernel/include/linux/signal.h +++ b/kernel/include/linux/signal.h @@ -28,6 +28,21 @@ struct sigpending { sigset_t signal; }; +#ifndef HAVE_ARCH_COPY_SIGINFO + +#include + +static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) +{ + if (from->si_code < 0) + memcpy(to, from, sizeof(*to)); + else + /* _sigchld is currently the largest know union member */ + memcpy(to, from, __ARCH_SI_PREAMBLE_SIZE + sizeof(from->_sifields._sigchld)); +} + +#endif + /* * Define some primitives to manipulate sigset_t. */