[quagga-dev 12076] Re: Advise on implementation
olivier.dugeon at orange.com
Mon Mar 2 15:28:29 GMT 2015
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.
> Quagga-dev mailing list
> Quagga-dev at lists.quagga.net
More information about the Quagga-dev