summaryrefslogtreecommitdiffstats
path: root/src/select.c
Commit message (Collapse)AuthorAgeFilesLines
* select: Find the highest fd when filling the fd_setsHolger Hans Peter Freyther2017-04-041-1/+12
| | | | | | | | | | | | | | | Instead of returning maxfd, which is the highest fd ever seen, take the highest we have seen on this iteration. This makes a tiny difference for the osmo-sip-connector and its event loop integration. select.c ignores the return value of this function right now. This was seen while debugging the eventloop integration of the osmo-sip-connector before and after a VTY connection. The fds being polled didn't go down. Change-Id: I1a6d7271273ec08bb511c21b936891bc508843e4
* select: add functionality to check socket statePhilipp Maier2017-02-071-6/+24
| | | | | | | | | | | | osmo_fd_register() is used to register socket file descriptors, after registering a socket, there is no way to test if the socket is still registered or actually registered at all. This commit adds a new function osmo_fd_register_check() that can be used to check in advance, if the socket fd is registered, before performing further operations. Change-Id: I48ec7098d6bba586c81bf0d5c9088108e2c081c6
* osmo_select_main(): drop useless call to osmo_timers_check()Neels Hofmeyr2016-09-281-2/+0
| | | | | | | osmo_timers_check() does nothing more than counting the active timers. It is of no use to count them when not using the return value in any way. Change-Id: I8d35ca90a4c16d6f1c7f9793d663e5479783efed
* Update doxygen annotations in libosmocoreHarald Welte2016-05-051-1/+5
| | | | | This adds and improves doxygen API descriptions all over libosmocore, reducing the 'white spots' that don't have any documentation.
* select: Externalize fd_set filling and dispatchHolger Hans Peter Freyther2016-03-311-32/+51
| | | | | | | | | | | | | | | | To integrate with an external event loop (in this case glib) we need to allow an application to get a filled out fd_set and then dispatch it. osmo_fds and maxfds are static and I decided to keep it that way and instead create two routines to fill the fdset and then one to dispatch the result. The public header file does not include sys/select.h and we can compile the library without select, so I didn't want to require having to include this file, and used void * for the parameter. Mark the routines as inline to avoid a call from the select function. I have confirmed that inlining has an effect on x86 using Debian's gcc-4.9.2-10 compiler
* Add new osmo_fd_get_by_fd() functionHarald Welte2016-03-191-0/+12
| | | | | | This function can be used to obtain the osmo_fd corresponding to a given fd. The latter can be useful when integrating libosmocore main loop with other libraries.
* fix FSF address in sources/headersJaroslav Škarvada2015-11-121-1/+2
| | | | Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
* select.c: Add missing #include lines for string.h and sys/select.hHarald Welte2014-11-141-0/+2
| | | | This is needed on Nuttx.
* select: Fix english in commentHolger Hans Peter Freyther2014-05-151-1/+1
|
* doc: Fix the Doxygen section endingsSylvain Munaut2012-04-181-1/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* some more doxygen work (include the notion of modules)Harald Welte2011-08-171-0/+19
|
* merge process.[ch] with application.[ch]Harald Welte2011-06-261-0/+9
|
* select: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso2011-05-071-11/+11
| | | | | | | | | Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
* timer: use namespace prefix osmo_timer*Pablo Neira Ayuso2011-05-071-4/+4
| | | | | | | | | | | | | | Summary of changes: s/struct timer_list/struct osmo_timer_list/g s/bsc_add_timer/osmo_timer_add/g s/bsc_schedule_timer/osmo_timer_schedule/g s/bsc_del_timer/osmo_timer_del/g s/bsc_timer_pending/osmo_timer_pending/g s/bsc_nearest_timer/osmo_timers_nearest/g s/bsc_prepare_timers/osmo_timers_prepare/g s/bsc_update_timers/osmo_timers_update/g s/bsc_timer_check/osmo_timers_check/g
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-231-3/+3
| | | | | | | | | | | | This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* select.c: Change license terms from GPLv2 (from ulogd) to GPLv2+Harald Welte2010-10-311-2/+3
|
* bsc_fd: Add a build option to be able to debug fd list corruptionHolger Hans Peter Freyther2010-08-061-0/+12
| | | | | | | bsc_register_fd on an already registered fd can corrupt the list in a heavy way and make the select end in an infinite loop, this code will workaround the issue and provide a way to set a breakpoint at the right position in the code.
* select.c: Make the ugly hacker uglier...Holger Hans Peter Freyther2010-04-111-1/+2
| | | | | | | Right now I'm seeing crashes when removing a link and deleting it and I need this hack to make it not crash. We will have to understand if llist_for_each_entry_safe has a bug or if we are doing something bad with the list (anchors not properly initialized).
* fix select.c build (config.h)Harald Welte2010-02-201-0/+2
|
* intial checkin of the libosmocore projectHarald Welte2010-02-201-0/+128