On Mon, Sep 12, 2011 at 09:32:02AM -0500, Pieter Hintjens wrote:
> On Mon, Sep 12, 2011 at 9:09 AM, AJ Lewis <[email protected]>
> wrote:
> 
> > I'm just starting to use zmq and czmq.  After poking a bit at the
> > APIs and the czmq code, I'm a bit confused about the zmalloc macro
> > and associated safe_malloc() wrapper.  It appears that the
> > assumption in czmq is that cmalloc never fails, which is generally
> > true in Linux, but not necessarily true on other OSes.  Is there a
> > reason czmq doesn't propogate a malloc error back up through the
> > call stack, and instead just abort()s?  I could #define
> > _ZMALLOC_DEBUG, but then functions like zframe_new() would just
> > segfault in the OOM case.
> 
> We could propagate the error, sure. The current approach is the
> simplest one that plausibly works. I've no preference either way,
> except that changes to CZMQ be driven by demand.
> 
> Do you want to try patching the code to make it propagate malloc
> errors? Or would you like me to look at this?

I could put together something - I'm afraid it will break the current
API though, as void functions that call zmalloc (or call other functions
that call zmalloc) should propagate the error...is that acceptable?

> Note that the zmalloc macro also initalizes (zeroes) memory.

Right - that makes sense.

Thank you,
-- 
AJ Lewis

----------------------------------------------------------------------
The information contained in this transmission may be confidential. Any 
disclosure, copying, or further distribution of confidential information is not 
permitted unless such privilege is explicitly granted in writing by Quantum. 
Quantum reserves the right to have electronic communications, including email 
and attachments, sent across its networks filtered through anti virus and spam 
software programs and retain such messages in order to comply with applicable 
data security and retention requirements. Quantum is not responsible for the 
proper and complete transmission of the substance of this communication or for 
any delay in its receipt.
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to