signal: Provide generic signal_pre_select().
authorAndre Noll <maan@tuebingen.mpg.de>
Tue, 7 Oct 2014 19:16:16 +0000 (19:16 +0000)
committerAndre Noll <maan@tuebingen.mpg.de>
Sun, 8 Feb 2015 15:05:13 +0000 (16:05 +0100)
Identical copies of this function exist in afs.c, gui.c, audiod.c and
server.c. This commit defines a generic version as an inline function
in signal.h and gets rid of the copies.

afs.c
audiod.c
gui.c
server.c
signal.h

diff --git a/afs.c b/afs.c
index a21a99d0e379b1461226c9d0ebfeaf11133f2ea1..1d23c9ff6897828eec8753f84399797fb6d2033c 100644 (file)
--- a/afs.c
+++ b/afs.c
@@ -28,8 +28,8 @@
 #include "ipc.h"
 #include "list.h"
 #include "sched.h"
 #include "ipc.h"
 #include "list.h"
 #include "sched.h"
-#include "signal.h"
 #include "fd.h"
 #include "fd.h"
+#include "signal.h"
 #include "mood.h"
 #include "sideband.h"
 #include "command.h"
 #include "mood.h"
 #include "sideband.h"
 #include "command.h"
@@ -719,12 +719,6 @@ static int open_afs_tables(void)
        return ret;
 }
 
        return ret;
 }
 
-static void signal_pre_select(struct sched *s, void *context)
-{
-       struct signal_task *st = context;
-       para_fd_set(st->fd, &s->rfds, &s->max_fileno);
-}
-
 static int afs_signal_post_select(struct sched *s, __a_unused void *context)
 {
        int signum, ret;
 static int afs_signal_post_select(struct sched *s, __a_unused void *context)
 {
        int signum, ret;
index 77d21f37de0f06d4a83b17a9a060894d7858088e..4285dd5e665a321895b90b04cc4e5f4cd23c08d0 100644 (file)
--- a/audiod.c
+++ b/audiod.c
@@ -990,12 +990,6 @@ err:
        exit(EXIT_FAILURE);
 }
 
        exit(EXIT_FAILURE);
 }
 
-static void signal_pre_select(struct sched *s, void *context)
-{
-       struct signal_task *st = context;
-       para_fd_set(st->fd, &s->rfds, &s->max_fileno);
-}
-
 static int signal_post_select(struct sched *s, void *context)
 {
        struct signal_task *st = context;
 static int signal_post_select(struct sched *s, void *context)
 {
        struct signal_task *st = context;
diff --git a/gui.c b/gui.c
index 5d1a1b62596e6fa545579e760dedbac81f6be59a..620367e5f52c0dfd5ff1597e4d688563fa6b546b 100644 (file)
--- a/gui.c
+++ b/gui.c
@@ -1132,12 +1132,6 @@ static int input_post_select(__a_unused struct sched *s, __a_unused void *contex
        return 0;
 }
 
        return 0;
 }
 
-static void signal_pre_select(struct sched *s, void *context)
-{
-       struct signal_task *st = context;
-       para_fd_set(st->fd, &s->rfds, &s->max_fileno);
-}
-
 static void print_scroll_msg(void)
 {
        unsigned lines_total, filled = ringbuffer_filled(bot_win_rb);
 static void print_scroll_msg(void)
 {
        unsigned lines_total, filled = ringbuffer_filled(bot_win_rb);
index 6c2cbb8758bc5f98e12ca69198ebfb069c595e77..a048cfda9b9cf3c31cf0715b3b909c4eee5ec71c 100644 (file)
--- a/server.c
+++ b/server.c
@@ -227,12 +227,6 @@ out:
        exit(EXIT_FAILURE);
 }
 
        exit(EXIT_FAILURE);
 }
 
-static void signal_pre_select(struct sched *s, void *context)
-{
-       struct signal_task *st = context;
-       para_fd_set(st->fd, &s->rfds, &s->max_fileno);
-}
-
 /*
  * called when server gets SIGHUP or when client invokes hup command.
  */
 /*
  * called when server gets SIGHUP or when client invokes hup command.
  */
index 1e562af76ffb4487d206be001a909ca0a6a9311d..643c148f3d9ec528c6a78cbf290c8c8422c25d78 100644 (file)
--- a/signal.h
+++ b/signal.h
@@ -16,6 +16,12 @@ struct signal_task {
        struct task *task;
 };
 
        struct task *task;
 };
 
+_static_inline_ void signal_pre_select(struct sched *s, void *context)
+{
+       struct signal_task *st = context;
+       para_fd_set(st->fd, &s->rfds, &s->max_fileno);
+}
+
 int para_signal_init(void);
 void para_sigaction(int sig, void (*handler)(int));
 void para_install_sighandler(int);
 int para_signal_init(void);
 void para_sigaction(int sig, void (*handler)(int));
 void para_install_sighandler(int);