Trying to understanding the source

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/.

Nordin bouchtaoui at gmail.com
Mon Jun 8 11:19:15 UTC 2009


Hi Lars,

Thank you for your explanation and your valuable links.
I really appreciate it.

Greetings,

Nordin.


Lars Immisch schreef:
> Naordin,
>
>> I'm a bit ashamed to ask, but I'll ask anyway, could someone help me 
>> explaining the OpenBSC source?
>>
>> make_sock():
>> I didn't know it's possible to call select() on a read signal to 
>> finally call the accept() for the socket_fd. Logically seen, 
>> socket_fd receives something (in this case a new connection), so it 
>> works. I just thought select() is only used for reading/writing data 
>> (or an except) on file descriptors.
>>
>> Why is OpenBSC written to work synchronously and not multihtreaded? 
>> If somewhere in the chain hangs (by a bug), telnet for example won't 
>> respond, right? What is the idea behind this concept? Is it a popular 
>> concept in the Linux world (so I can be familiar with)?
>
> This is called the Reactor pattern and it is not at all restricted to 
> Linux. It's not synchronous, it's synchronous event dispatching.
>
> This style of programming was popularized with the ACE Framework by 
> Douglas Schmidt and a fairly well-known modern-day example is Twisted 
> (Python): http://twistedmatrix.com/trac/.
>
> Another - simpler - example is libevent: 
> http://www.monkey.org/~provos/libevent/.
>
> Here is a short overview on Wikipedia: 
> http://en.wikipedia.org/wiki/Reactor_pattern
>
> - Lars
>





More information about the OpenBSC mailing list