#include <gpiod.h>
#include <limits.h>
#include <poll.h>
-#include <signal.h>
#include <stdio.h>
#include <string.h>
-#include <sys/signalfd.h>
#include <unistd.h>
#include "tools-common.h"
return GPIOD_CTXLESS_EVENT_CB_RET_OK;
}
-static int make_signalfd(void)
-{
- sigset_t sigmask;
- int sigfd, rv;
-
- sigemptyset(&sigmask);
- sigaddset(&sigmask, SIGTERM);
- sigaddset(&sigmask, SIGINT);
-
- rv = sigprocmask(SIG_BLOCK, &sigmask, NULL);
- if (rv < 0)
- die("error masking signals: %s", strerror(errno));
-
- sigfd = signalfd(-1, &sigmask, 0);
- if (sigfd < 0)
- die("error creating signalfd: %s", strerror(errno));
-
- return sigfd;
-}
-
int main(int argc, char **argv)
{
unsigned int offsets[GPIOD_LINE_BULK_MAX_LINES], num_lines = 0, offset;
#include <getopt.h>
#include <limits.h>
#include <poll.h>
-#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <sys/select.h>
-#include <sys/signalfd.h>
#include <unistd.h>
#include "tools-common.h"
{
struct callback_data *cbdata = data;
struct pollfd pfd;
- sigset_t sigmask;
int sigfd, rv;
- sigemptyset(&sigmask);
- sigaddset(&sigmask, SIGTERM);
- sigaddset(&sigmask, SIGINT);
-
- rv = sigprocmask(SIG_BLOCK, &sigmask, NULL);
- if (rv < 0)
- die("error blocking signals: %s", strerror(errno));
-
- sigfd = signalfd(-1, &sigmask, 0);
- if (sigfd < 0)
- die("error creating signalfd: %s", strerror(errno));
+ sigfd = make_signalfd();
memset(&pfd, 0, sizeof(pfd));
pfd.fd = sigfd;
#include <errno.h>
#include <gpiod.h>
#include <libgen.h>
+#include <signal.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/signalfd.h>
#include "tools-common.h"
printf(" pull-up:\tenable pull-up\n");
printf(" pull-down:\tenable pull-down\n");
}
+
+int make_signalfd(void)
+{
+ sigset_t sigmask;
+ int sigfd, rv;
+
+ sigemptyset(&sigmask);
+ sigaddset(&sigmask, SIGTERM);
+ sigaddset(&sigmask, SIGINT);
+
+ rv = sigprocmask(SIG_BLOCK, &sigmask, NULL);
+ if (rv < 0)
+ die("error masking signals: %s", strerror(errno));
+
+ sigfd = signalfd(-1, &sigmask, 0);
+ if (sigfd < 0)
+ die("error creating signalfd: %s", strerror(errno));
+
+ return sigfd;
+}
void print_version(void);
int bias_flags(const char *option);
void print_bias_help(void);
+int make_signalfd(void);
#endif /* __GPIOD_TOOLS_COMMON_H__ */