aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-04-08 10:58:20 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-04-08 10:58:20 +0200
commit4052c811a9b205908f041b5eabe698850cd2048e (patch)
treedeb1225c7858c821e66b162229cff67f22cc6fc4
parent9bb553ee40104c47f9a27d7662eb2867dd2b5d1e (diff)
write_queue: Add callback for exceptions as well.
-rw-r--r--include/osmocore/write_queue.h1
-rw-r--r--src/write_queue.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/include/osmocore/write_queue.h b/include/osmocore/write_queue.h
index 64d4159a..ef244c32 100644
--- a/include/osmocore/write_queue.h
+++ b/include/osmocore/write_queue.h
@@ -35,6 +35,7 @@ struct write_queue {
int (*read_cb)(struct bsc_fd *fd);
int (*write_cb)(struct bsc_fd *fd, struct msgb *msg);
+ int (*except_cb)(struct bsc_fd *fd);
};
void write_queue_init(struct write_queue *queue, int max_length);
diff --git a/src/write_queue.c b/src/write_queue.c
index a0ac2d6f..618a8c0b 100644
--- a/src/write_queue.c
+++ b/src/write_queue.c
@@ -32,6 +32,9 @@ int write_queue_bfd_cb(struct bsc_fd *fd, unsigned int what)
if (what & BSC_FD_READ)
queue->read_cb(fd);
+ if (what & BSC_FD_EXCEPT)
+ queue->except_cb(fd);
+
if (what & BSC_FD_WRITE) {
struct msgb *msg;