[lttng-dev] [PATCH lttng-tools 06/14] Adding signal compat in order to implement missing functions on Android

David Goulet dgoulet at efficios.com
Mon May 6 15:08:46 EDT 2013



Charles Briere:
> Signed-off-by: Charles Briere <charlesbriere.flatzo at gmail.com>
> ---
>  src/common/compat/Makefile.am     |  3 ++-
>  src/common/compat/compat-signal.c | 14 ++++++++++++++
>  src/common/compat/signal.h        | 14 ++++++++++++++
>  src/common/consumer-timer.c       |  2 +-
>  src/common/runas.c                |  2 +-
>  5 files changed, 32 insertions(+), 3 deletions(-)
>  create mode 100644 src/common/compat/compat-signal.c
>  create mode 100644 src/common/compat/signal.h
> 
> diff --git a/src/common/compat/Makefile.am b/src/common/compat/Makefile.am
> index 537375b..124ef08 100644
> --- a/src/common/compat/Makefile.am
> +++ b/src/common/compat/Makefile.am
> @@ -9,4 +9,5 @@ COMPAT=compat-poll.c
>  endif
>  
>  libcompat_la_SOURCES = poll.h fcntl.h endian.h mman.h clone.h \
> -                       socket.h compat-fcntl.c uuid.h tid.h $(COMPAT)
> +                       socket.h compat-fcntl.c uuid.h tid.h \
> +                       compat-signal.c $(COMPAT)
> diff --git a/src/common/compat/compat-signal.c b/src/common/compat/compat-signal.c
> new file mode 100644
> index 0000000..aba30db
> --- /dev/null
> +++ b/src/common/compat/compat-signal.c

It does not seems that there is any license at the beginning of the file
(same for the header). Please check other files in compat/ and simply
copy the header and add your copyright.

> @@ -0,0 +1,14 @@
> +#include "signal.h"
> +#ifdef __ANDROID__
> +int __rt_sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts, long nr) {
> +  return syscall(__NR_rt_sigtimedwait, set, info, ts, nr);

This seems like a "two spaces" rather than a tab. The whole code base
uses tabs.

Thanks!
David

> +}
> +
> +int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts) {
> +  return __rt_sigtimedwait(set,info,ts,_NSIG/8);
> +}
> +
> +int sigwaitinfo(const sigset_t *set, siginfo_t *info) {
> +  return sigtimedwait(set, info, NULL);
> +}
> +#endif
> diff --git a/src/common/compat/signal.h b/src/common/compat/signal.h
> new file mode 100644
> index 0000000..f7251d3
> --- /dev/null
> +++ b/src/common/compat/signal.h
> @@ -0,0 +1,14 @@
> +#ifndef LTTNG_COMPAT_SIGNAL_H
> +#define LTTNG_COMPAT_SIGNAL_H
> +
> +#include <signal.h>
> +#ifdef __ANDROID__
> +#include <sys/syscall.h>
> +#include <asm/unistd.h>
> +#include <linux/time.h>
> +int __rt_sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts, long nr);
> +int sigtimedwait(const sigset_t *set, siginfo_t *info, const struct timespec *ts);
> +int sigwaitinfo(const sigset_t *set, siginfo_t *info);
> +#endif // __ANDROID__
> +
> +#endif //LTTNG_COMPAT_SIGNAL_H
> diff --git a/src/common/consumer-timer.c b/src/common/consumer-timer.c
> index ef056d1..0ae369f 100644
> --- a/src/common/consumer-timer.c
> +++ b/src/common/consumer-timer.c
> @@ -19,8 +19,8 @@
>  #define _GNU_SOURCE
>  #include <assert.h>
>  #include <inttypes.h>
> -#include <signal.h>
>  
> +#include <common/compat/signal.h>
>  #include <common/common.h>
>  
>  #include "consumer-timer.h"
> diff --git a/src/common/runas.c b/src/common/runas.c
> index bd51cd4..0317cba 100644
> --- a/src/common/runas.c
> +++ b/src/common/runas.c
> @@ -28,12 +28,12 @@
>  #include <unistd.h>
>  #include <fcntl.h>
>  #include <sched.h>
> -#include <sys/signal.h>
>  
>  #include <common/common.h>
>  #include <common/utils.h>
>  #include <common/compat/mman.h>
>  #include <common/compat/clone.h>
> +#include <common/compat/signal.h>
>  
>  #include "runas.h"
>  



More information about the lttng-dev mailing list