The problem with dangling pointers can only be solved using its own allocator. Thus, any address (pointer), not found among the selected blocks - is considered hanging. This, in its turn will not only reduce the number of errors, but that is not unimportant - will increase system reliability and will exclude memory fragmentation, which is extremely important for the systems 24/7.
Therefore, in my first email I asked if there are in Community's plans to implement memory-pool/object-pool/message-pool. 2012/2/11 niXman <i.nix...@gmail.com>: > I'm confused ... > Do you all agree with that the arguments must be checked? And with the > fact that in case of error of arguments is not necessary to use assert > but set errno and return -1? > > > > 2012/2/11 Pieter Hintjens <p...@imatix.com>: >> On Sat, Feb 11, 2012 at 6:27 PM, niXman <i.nix...@gmail.com> wrote: >> >>> For example the call: >>>>rc = zmq_setsockopt (sub, ZMQ_SUBSCRIBE, 0, 4); >>> will end on segmentation fault on line 56 of the sub.cpp file. >>> >>> According to the documentation, if an error occurs, the function >>> should return -1. >>> >>> I can not decide how to handle such a situation. Should I use assert >>> or return EINVAL? >> >> Assertions were historically misused in ZeroMQ to handle user errors. >> They should be used only to assert impossible conditions, i.e. >> internal errors where continuing is unacceptable. It is (I've used >> this analogy before) like a cell being highly resistant to invading >> bacteria and viruses, but self-destructing it if gets a mutation in >> its DNA. >> >> Any remaining cases of asserting on bad input are considered bugs, and >> can be fixed as such (issue, test case, and patch). >> >> Thanks a lot for the code review, this is great. >> >> -Pieter >> _______________________________________________ >> zeromq-dev mailing list >> zeromq-dev@lists.zeromq.org >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev