From a49951fed75d681722df6d65fd318a697c87e4bd Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 5 Mar 2010 19:42:09 +0100 Subject: [PATCH] write_queue: Make the bfd cb public so it can be used in a different context * I'm doing a nonblocking connect and for this I need to select on writable and the first thing I need to do is to check the SOL_SOCKET SO_ERROR state. I realize this by setting a different cb on the embedded bfd during setup and then go back to the real implementation. --- include/osmocore/write_queue.h | 1 + src/write_queue.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/osmocore/write_queue.h b/include/osmocore/write_queue.h index af3d44be7..c84000c1e 100644 --- a/include/osmocore/write_queue.h +++ b/include/osmocore/write_queue.h @@ -39,5 +39,6 @@ struct write_queue { void write_queue_init(struct write_queue *queue, int max_length); int write_queue_enqueue(struct write_queue *queue, struct msgb *data); +int write_queue_bfd_cb(struct bsc_fd *fd, unsigned int what); #endif diff --git a/src/write_queue.c b/src/write_queue.c index 597fbe751..7d908b4ca 100644 --- a/src/write_queue.c +++ b/src/write_queue.c @@ -23,7 +23,7 @@ #include -static int queue_cb(struct bsc_fd *fd, unsigned int what) +int write_queue_bfd_cb(struct bsc_fd *fd, unsigned int what) { struct write_queue *queue; @@ -57,7 +57,7 @@ void write_queue_init(struct write_queue *queue, int max_length) queue->current_length = 0; queue->read_cb = NULL; queue->write_cb = NULL; - queue->bfd.cb = queue_cb; + queue->bfd.cb = write_queue_bfd_cb; INIT_LLIST_HEAD(&queue->msg_queue); }