libosmocore for multi-threaded software

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Pau Espin Pedrol pespin at sysmocom.de
Wed Jul 24 21:43:22 UTC 2019


Hi Rafael,

libosmocore master (which will be released over next weeks) should have 
enough multithread support for most known generic needs. Logging, main 
loop and as far a I known FSM are prepared to work in a multithreaded 
environment. In FSM case, you may need to use your own mutex to protect 
structures. Same goes for CTRL interface. For VTY, it will always happen 
on the same thread (main thread) handling the socket, so it should be 
pretty OK.

Some known issues with VTY and logging still exist, but they are really 
scoped:
https://osmocom.org/issues/4088

Remember to avoid using APIs which contain static buffers. Most of them 
don't make use of static buffers, and for the ones that do then there's 
usually a _buf() alternative which allows you to pass a stack or heap 
buffer.

If you find any function in libosmocore using an internal static buffer 
or finding possible bugs when on multi-thread environment, please open a 
ticket or send a patch.

Don't hesitate to ping me on IRC or over here if you have more questions 
about this topic.

Regards,
Pau

-- 
- Pau Espin Pedrol <pespin at sysmocom.de>         http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte



More information about the OpenBSC mailing list