osmo-pcu/src
Harald Welte 3e51d3e5bd Call osmo_init_logging() before static BTS constructor
The BTS constructor uses functions of libosmocore that could in turn
want to log something.  This requires the logging to be initialized
before.

The only way to achieve this is to add an __attribute__((constructor))
function *before* the BTS constructor is being run.

This solution might not be elegant, but  I guess it's the only way to
initialize a C library before calling C++ constructors of global static
instance of a class.

In case anyone comes up with a better / cleaner approach, we can always
change later.

This change requires libosmocore >= 0.10.1, as only that permits
multiple calls to osmo_init_logging() which may now occur.

Change-Id: I28dc4f0db229518348c92413959fed5ae85d753d
2017-10-29 11:02:34 +01:00
..
osmo-bts-litecell15 Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
osmo-bts-sysmo Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
.gitignore Adding .gitignore to source directory 2012-06-27 17:45:15 +02:00
Makefile.am lc15: further fixes regarding --with-litecell15 2017-06-11 11:40:18 +02:00
bts.cpp Call osmo_init_logging() before static BTS constructor 2017-10-29 11:02:34 +01:00
bts.h Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
csn1.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
csn1.h remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
cxx_linuxlist.h llist: Add missing const qualifier in llist cast method 2015-08-24 12:23:50 +02:00
decoding.cpp Add debugging log for RLC data block decoding 2016-12-02 09:15:53 +00:00
decoding.h Add header type 1 support for EGPRS uplink 2016-06-16 14:32:07 +00:00
egprs_rlc_compression.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
egprs_rlc_compression.h Add compression support in EGPRS PUAN 2017-01-23 12:26:09 +00:00
encoding.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
encoding.h Handle packet access reject during EPDAN/PDAN with channel description 2016-11-11 17:15:10 +05:30
gprs_bssgp_pcu.cpp gb: allow only packets from a specific SGSN 2017-10-24 10:50:17 +00:00
gprs_bssgp_pcu.h bssgp: Use measured leak rate for flow control 2015-09-11 11:52:02 +02:00
gprs_codel.c llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_codel.h llc: Add CoDel AQM implementation 2015-07-21 19:22:32 +02:00
gprs_coding_scheme.cpp Add data structure for ARQ-II in EGPRS DL 2016-07-12 14:17:12 +05:30
gprs_coding_scheme.h Assert valid CS 2017-09-08 12:51:03 +02:00
gprs_debug.cpp logging fixup: shorter names for LOGGING_FILTER_* and LOGGING_CTX_* 2017-02-23 18:11:44 +01:00
gprs_debug.h gprs_debug.h: remove unused cruft / cosmetic tweaks 2017-02-20 15:30:18 +00:00
gprs_ms.cpp Assert valid CS 2017-09-08 12:51:03 +02:00
gprs_ms.h Add counter at BTS level And statistics at TBF/MS level. 2016-12-22 14:09:04 +00:00
gprs_ms_storage.cpp pcu: Fix memory corruption bugs (ASAN) 2016-02-01 13:56:32 +01:00
gprs_ms_storage.h pcu: Fix memory corruption bugs (ASAN) 2016-02-01 13:56:32 +01:00
gprs_rlcmac.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gprs_rlcmac.h remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gprs_rlcmac_meas.cpp cosmetic: convert explicit warnings to fixme/todo 2017-09-04 13:06:01 +00:00
gprs_rlcmac_sched.cpp cosmetic: convert explicit warnings to fixme/todo 2017-09-04 13:06:01 +00:00
gprs_rlcmac_ts_alloc.cpp cosmetic: reformat multislot classes table 2017-10-10 19:02:43 +02:00
gsm_rlcmac.cpp remove pcu own bitvector implementation 2017-05-15 12:46:33 +00:00
gsm_rlcmac.h rlc: Add decode_gsm_ra_cap to decode Radio Access Caps 2016-02-08 00:45:36 +01:00
gsm_timer.cpp bts: Move the frame_number into the BTS sructure 2013-10-30 21:20:45 +01:00
gsm_timer.h move everything to src/ subdirectory 2012-06-14 20:48:42 +08:00
llc.cpp llc: Add move_and_merge method to llc_queue 2015-08-21 19:02:18 +02:00
llc.h llc: remove NULL-pointer check of gprs_llc_queue::size()/octets() 2016-10-18 11:51:02 +02:00
osmobts_sock.cpp cosmetic: convert explicit warnings to fixme/todo 2017-09-04 13:06:01 +00:00
pcu_l1_if.cpp Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
pcu_l1_if.h Support sending OML Alerts via BTS 2017-03-17 17:01:28 +00:00
pcu_main.cpp Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
pcu_utils.h Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
pcu_vty.c EDGE: Fix UL link adaptation. 2017-08-18 18:09:24 +00:00
pcu_vty.h Support receiving SI13 from BTS 2017-09-01 11:08:06 +02:00
pcu_vty_functions.cpp Add counter at BTS level And statistics at TBF/MS level. 2016-12-22 14:09:04 +00:00
pcu_vty_functions.h tbf: Use LListHead instead of llist_pods 2016-02-01 13:58:13 +01:00
poll_controller.cpp Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
poll_controller.h poll: Add a max_delay parameter to PollController::expireTimedout 2015-08-28 12:23:07 +02:00
rlc.cpp dl tbf: initialize punct values and verify 2017-02-14 12:20:57 +01:00
rlc.h Add test case for testing PUAN 2017-01-24 15:53:35 +05:30
sba.cpp Cleanup FN scheduling 2017-05-26 07:55:52 +00:00
sba.h misc: Do not mix struct/class in the forward declaration 2014-07-02 14:48:44 +02:00
tbf.cpp cosmetic: convert explicit warnings to fixme/todo 2017-09-04 13:06:01 +00:00
tbf.h Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00
tbf.txt Doc: Update on README and tbf.txt 2012-12-18 10:04:03 +01:00
tbf_dl.cpp TBF-DL: extend index check for RLC block copy 2017-09-08 12:58:28 +00:00
tbf_ul.cpp Simplify polling troubleshooting 2017-08-14 15:19:08 +00:00