Added missing close method w/ check if socket is already closed.

Signed-off-by: Guido Goldstein <github@a-nugget.de>
This commit is contained in:
Guido Goldstein
2011-03-12 17:16:27 +01:00
committed by Martin Sustrik
parent 7b95c5920c
commit d0c8edde35

View File

@@ -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_)
{