aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main_notify.c21
-rw-r--r--src/utils.c10
-rw-r--r--src/utils.h2
3 files changed, 6 insertions, 27 deletions
diff --git a/src/main_notify.c b/src/main_notify.c
index 68df0b44..f821f76a 100644
--- a/src/main_notify.c
+++ b/src/main_notify.c
@@ -63,7 +63,12 @@ static int ioops_consume(int fd_count, fd_set * rfds,
void init_main_notify(void)
{
main_task = g_thread_self();
- init_async_pipe(main_pipe);
+
+ if (pipe(main_pipe) < 0)
+ g_error("Couldn't open pipe: %s", strerror(errno));
+ if (set_nonblocking(main_pipe[1]) < 0)
+ g_error("Couldn't set non-blocking I/O: %s", strerror(errno));
+
main_notify_IO.fdset = ioops_fdset;
main_notify_IO.consume = ioops_consume;
registerIO(&main_notify_IO);
@@ -96,19 +101,5 @@ void main_notify_unlock(void)
void wait_main_task(void)
{
- fd_set rfds;
- int ret;
-
- assert(main_task == g_thread_self());
-
- do {
- FD_ZERO(&rfds);
- FD_SET(main_pipe[0], &rfds);
- ret = select(main_pipe[0] + 1, &rfds, NULL, NULL, NULL);
- } while (ret == 0 || (ret < 0 && (errno == EAGAIN || errno == EINTR)));
-
- if (ret < 0)
- g_error("select() failed: %s", strerror(errno));
-
consume_pipe();
}
diff --git a/src/utils.c b/src/utils.c
index f624cf6d..16a4cf01 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -211,16 +211,6 @@ int set_nonblocking(int fd)
#endif
}
-void init_async_pipe(int file_des[2])
-{
- if (pipe(file_des) < 0)
- g_error("Couldn't open pipe: %s", strerror(errno));
- if (set_nonblocking(file_des[0]) < 0)
- g_error("Couldn't set non-blocking I/O: %s", strerror(errno));
- if (set_nonblocking(file_des[1]) < 0)
- g_error("Couldn't set non-blocking I/O: %s", strerror(errno));
-}
-
int stringFoundInStringArray(const char *const*array, const char *suffix)
{
while (array && *array) {
diff --git a/src/utils.h b/src/utils.h
index 2142df7f..4130eb74 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -95,8 +95,6 @@ char *parsePath(char *path);
int set_nonblocking(int fd);
-void init_async_pipe(int file_des[2]);
-
int stringFoundInStringArray(const char *const*array, const char *suffix);
#endif