summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;