From d0c8edde3596f512d629c6b075289ebe86488ea9 Mon Sep 17 00:00:00 2001 From: Guido Goldstein Date: Sat, 12 Mar 2011 17:16:27 +0100 Subject: Added missing close method w/ check if socket is already closed. Signed-off-by: Guido Goldstein --- include/zmq.hpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/zmq.hpp b/include/zmq.hpp index 9cae990..813535f 100644 --- a/include/zmq.hpp +++ b/include/zmq.hpp @@ -214,8 +214,7 @@ namespace zmq inline ~socket_t () { - int rc = zmq_close (ptr); - assert (rc == 0); + close(); } inline operator void* () @@ -223,6 +222,17 @@ namespace zmq return ptr; } + inline void close() + { + if(ptr == NULL) + // already closed + return ; + int rc = zmq_close (ptr); + if (rc != 0) + throw error_t (); + ptr = 0 ; + } + inline void setsockopt (int option_, const void *optval_, size_t optvallen_) { -- cgit v1.2.3