[zeromq-dev] is priority inversion a problem?

Roger Dannenberg rbd at cs.cmu.edu
Wed Nov 14 15:01:19 CET 2012

Does ZeroMQ support communication among fixed priority threads using 
inproc transport? It looks to me like ZeroMQ uses malloc to 
allocate/free messages, which implies a shared lock on a shared heap. If 
a low priority thread gets the lock and a medium priority thread 
preempts it, can't that block a high priority thread indefinitely? I 
believe OS X and Windows do not have locks with priority ceiling or 
priority inheritance protocols, and it appears that Linux offers 
priority inheritance but does not use it in malloc/free as implemented 
in glibc, so it seems that priority inversion is (still) a potential 
problem. Does ZeroMQ offer a solution?
     -Roger Dannenberg

More information about the zeromq-dev mailing list