[quagga-dev 12076] Re: Advise on implementation

Olivier Dugeon olivier.dugeon at orange.com
Mon Mar 2 15:28:29 GMT 2015

Hello Michael,

Hum, it depends if we follow Posix or SysV. In both case, if the system 
is compliant with
POSIX or SysV, the portability is normally guarantee. But, we need to 
test to verify.
Now, there is a difference between POSIX and SysV regarding the 
semaphore needed to protect
the Shared Memory space. In SysV, when a process crash, the system will 
release the semaphore
if SEM_UNDO flag has been set. This guarantee that the system will not 
block even if a process
crash once acquired the lock. In POSIX, there is not similar feature. 
So, in POSIX, you must
add your own supervision/monitoring system to keep the whole system safe 
even in case of crash.



Le 02/03/2015 14:50, Michael H Lambert a écrit :
> On 2 Mar 2015, at 02:18, David Lamparter <equinox at opensourcerouting.org> wrote:
>> NB: I'm not against SHM, but I do think SHM is more difficult to get
>> right, and it's not an automatic performance win.  I did some thinking
>> about a shared memory RCU-based replacement for ZAPI, but never had the
>> time to try that.  It probably *does* help moving Quagga towards
>> supporting multiple threads in the individual daemons.
> How difficult is it to do SHM portably?  That could be the decider.
> Michael
> _______________________________________________
> Quagga-dev mailing list
> Quagga-dev at lists.quagga.net
> https://lists.quagga.net/mailman/listinfo/quagga-dev

More information about the Quagga-dev mailing list