summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Needed unprotected version of vty_reset for use in vty_terminatepaulo2009-12-101-4/+10
| | | |
| * | | Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-2/+3
| |\ \ \ | | | |/ | | |/| | | | | pthreads
| * | | Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-6/+9
| |\ \ \ | | | | | | | | | | | | | | | pthreads
| * \ \ \ Merge branch 'master' of ssh://paulo@80.177.246.130/git/quagga.euro-ix into ↵paulo2009-12-101-2/+3
| |\ \ \ \ | | | | | | | | | | | | | | | | | | pthreads
| * | | | | Stop recursive lock checking assertpaulo2009-12-103-59/+70
| | | | | |
* | | | | | New access functions for mqueue_blocks & use qpthreads_enable.Chris Hall (GMCH)2009-12-102-92/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions to set and get all user accessable parts of an mqueue_block are now provided. Uses the qpthreads_enabled flag to allow mqueues to work (though in a limited fashion) when pthreads are not enabled.
* | | | | | Introduced qpthreads_enabled flag in lib/qpthreadsChris Hall (GMCH)2009-12-102-99/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This supports running without pthreads, but with code that is made thread-safe. A Big Switch -- qpthreads_enabled -- enables or disables all pthread functions. When disabled, all mutex calls become NOPs.
* | | | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-2/+3
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Fix reaming of empty symbol table -- lib/symtab.cChris Hall (GMCH)2009-12-101-2/+3
| | |_|/ / | |/| | |
* | | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-6/+9
|\| | | |
| * | | | Allow orphan symbols to be unset -- lib/symtab.cChris Hall (GMCH)2009-12-101-6/+9
| | |/ / | |/| | | | | | | | | | Improved version.
* | | | Merge branch 'master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-101-2/+3
|\| | | | |/ / |/| |
| * | Allow orphan symbols to be unset -- lib/symtab.cChris Hall (GMCH)2009-12-101-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | May not set orphan symbol values to anything meaningful, but must be allowed to unset an orphan value (which is already unset) so that when reaming a symbol table ordinary value delete/unset functions can be called. So fixed the assert which was disallowing all value changes for orphans, in symbol_set_value().
| * | Merge remote branch 'quagga/master' of /git/quagga.euro-ixChris Hall (GMCH)2009-12-095-59/+34
| |\|
* | | Merge remote branch 'quagga/master' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-095-59/+34
|\ \ \ | | |/ | |/|
| * | lib: move check_bit into prefix common codeStephen Hemminger2009-12-092-31/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make one version of check prefix bit, and put it inline with proper prototype. This gets rid of some macro's and also some assert() that can never happen on a non-broken compiler. * bgpd/bgp_table.c * CHECK_BIT(): sayonara * check_bit(): sayonara * SET_LINK(): sayonara * set_link(): make use of prefix_bit() instead of check_bit() * bgp_node_match(): idem * bgp_node_lookup(): idem * bgp_node_get(): idem * lib/prefix.h * prefix_bit(): new inline version of check_bit() * lib/table.c * CHECK_BIT(): sayonara * check_bit(): sayonara * SET_LINK(): sayonara * set_link(): make use of prefix_bit() instead of check_bit() * route_node_match(): idem * route_node_lookup(): idem * route_node_get(): idem * ospf6d/ospf6_lsdb.c * CHECK_BIT(): sayonara * ospf6_lsdb_lookup_next(): make use of prefix_bit() instead of CHECK_BIT() * ospf6_lsdb_type_router_head(): idem * ospf6_lsdb_type_head(): idem * ospf6d/ospf6_route.c * CHECK_BIT(): sayonara * ospf6_route_match_head() make use of prefix_bit() instead of * CHECK_BIT()
| * | lib: fix warning on little endianStephen Hemminger2009-12-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | * md5.c * md5_calc(): If building on little endian then X will be 'const uint32_t' which causes compiler warning in code that never gets used. Just move the endif to make sure code is not checked.
| * | lib: make match functions take const argsStephen Hemminger2009-12-082-14/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | * table.c: general type safety and compiler help: * maskbit[]: become const * route_node_match(): take const args * route_node_match_ipv4(): idem * route_node_match_ipv6(): idem * check_bit(): idem, plus adjust local vars typing
| * | lib: remove unused function: route_dump_node()Denis Ovsienko2009-12-071-17/+0
| | |
| * | lib: log source of vty connections (bug #566)heasley2009-12-071-0/+6
| | | | | | | | | | | | heasley: I've used this for a while to track usage.
* | | Fix qps_pselect() so that zeroises results, not enabled.Chris Hall (GMCH)2009-12-091-2/+2
| | |
* | | Ensure all timeouts are timeout times in qtime_mono_t.Chris Hall (GMCH)2009-12-0912-209/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced separate types for qtime_mono_t and qtime_real_t, to distinguish the time base of a given value. Revised all users of timeouts so that they are all expressed as qtime_mono_t values, so are all Quagga monotonic time based. Revised qpt_cond_timedwait() so that all condition variables use the same timebase (CLOCK_MONOTONIC if available, by default). Now all timeout times are qtime_mono_t, and are converted to whatever the condition variable is set to, if necessary. Added explicit timeout to mqueue. Fixed qps_pselect() to zeroise result vectors if no fds are reported pending -- seems the O/S does not do this.
* | | Fixed -ve return from qps_pselect. Fixed calls of qps_enable_mode - usespaulo2009-12-092-10/+6
| | | | | | | | | | | | mnum, not mbits.
* | | Changed timeout handling in qpn_start -- lib/qpnexus.cChris Hall (GMCH)2009-12-091-3/+2
| | |
* | | Bug fix in qps_selection_validate(), lib/qpselect.cChris Hall (GMCH)2009-12-091-33/+132
| | | | | | | | | | | | | | | | | | Also, added testing for qps_make_super_set_map() to simulate wide range of little-/big-endian word sizes and forwards/backwards bit numbering.
* | | Fix timeouts in nexus, fix LOCK in vtypaulo2009-12-093-9/+13
| | |
* | | Fixes to get as far as creating the thread and calling qps_pselectpaulo2009-12-094-31/+26
| | |
* | | Bug fix in qps_make_super_set_map(), lib/qpselect.cChris Hall (GMCH)2009-12-091-2/+2
| | |
* | | Add qps_selection_ream() to lib/qpselect.cChris Hall (GMCH)2009-12-082-200/+449
| | | | | | | | | | | | Tidied up and implemented qps_selection_validate() as a debug aid.
* | | Nexus handling.paulo2009-12-082-0/+208
| | |
* | | Wired up the CLI thread with new qpnexus type. Still work in progress.paulo2009-12-084-85/+351
| | | | | | | | | | | | Needs debugging.
* | | Fixes to lib/qtime.c and lib/qtimers.hChris Hall (GMCH)2009-12-082-5/+5
| | | | | | | | | | | | Needs to use lldiv in qtime.c on 32bit machine.
* | | Merge branch 'pthreads' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-084-208/+512
|\ \ \
| * | | Make vty and log thread safe under single mutex.paulo2009-12-074-208/+512
| | | |
* | | | Improved lib/qt_craft_monotonic() handling of overflow.Chris Hall (GMCH)2009-12-082-40/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Improved the arithmetic and changed code to deal with wrap around only if clock_t is 32-bits (and not to compile if it is less !). Updated documentation.
* | | | Added qtimer_pile_top_time() to lib/qtimers.cChris Hall (GMCH)2009-12-084-112/+177
|/ / / | | | | | | | | | | | | | | | | | | | | | For use when preparing for pselect or other timed wait. Simplified the handling of pending unsets. Tidied up in heap.c & .h.
* | | Fixed qpt_mutex_unlock() (debug version).Chris Hall (GMCH)2009-12-071-2/+2
| | |
* | | Enabled qpt_mutex_recursive in lib/qpthreads.Chris Hall (GMCH)2009-12-072-17/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows mutexes to be initialised as recursive. Required correctly placed setting of _GNU_SOURCE (for gcc). It is assumed that "config.h" will enable the required pthreads features -- which are now documented in lib/qpthread.c.
* | | Initial commit for lib/qpselect.c & .h and lib/qtimers.c & .hChris Hall (GMCH)2009-12-066-2/+1665
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lib/qpselect supports data structure to multiplex between many file descriptors using pselect(). lib/qtimers supports data structures to run multiple timers. Also affected: lib/Makefile.am -- to add the new files lib/memtypes.c -- to add further memory types for the above
* | | Updates to lib/qtime.c & .hChris Hall (GMCH)2009-12-062-12/+66
| | | | | | | | | | | | | | | | | | | | | Added conversion routines for CLOCK_REALTIME/timeofday to/from monotonic clock -- so can set timers to actual time, if required. Added confirms and tidied up documentation.
* | | Updates to lib/qpthreads.c & .hChris Hall (GMCH)2009-12-062-3/+18
| | | | | | | | | | | | | | | | | | Added qpt_thread_self(). Initialised output sigset_t before setting it in qpt_thread_sigmask().
* | | Updates after code review: lib/heap.c & .h lib/vector.c & .hChris Hall (GMCH)2009-12-064-127/+180
| | | | | | | | | | | | | | | | | | | | | Added vector_unset_item() & recast vector_unset(). Added heap_pop_push_item() and made a number of simple operations Inline functions.
* | | Initial commit of lib/mqueue.c & .hChris Hall (GMCH)2009-12-035-4/+716
| | | | | | | | | | | | | | | Adds message queue structure to manage the passing of messages between qpthreads.
* | | Add signal functions to lib/qpthreads.cChris Hall (GMCH)2009-12-032-0/+60
| | | | | | | | | | | | Adding qpt_thread_sigmask() and qpt_thread_signal().
* | | Allow floating argument for QTIME(s) in lib/qtime.hChris Hall (GMCH)2009-12-031-1/+2
| | | | | | | | | | | | | | | Changed casts around so that the seconds argument can be a floating point value. So that, in particular, QTIME(2.33) works.
* | | Added zlog_abort functions. Changed pthread mutes to qpthread mutexespaulo2009-12-035-115/+183
| | |
* | | Merge branch 'pthreads' of /git/quagga.euro-ix into pthreadsChris Hall (GMCH)2009-12-029-234/+688
|\ \ \
| * | | Fix nested LOCK bugpaulo2009-12-012-9/+35
| | | |
| * | | Fix raise_count in zprivs_change_caps HAVE_LCAPS casepaulo2009-12-011-9/+18
| | | |
| * | | log_r.h no longer needed. It was invented incase we needed a separatepaulo2009-11-301-32/+0
| | | | | | | | | | | | | | | | pthread safe interface for logging. log.h is that interface.