From 0b5cc026fbe7ccc6de66907be29471562a2d344d Mon Sep 17 00:00:00 2001 From: Martin Sustrik Date: Thu, 6 Aug 2009 12:51:32 +0200 Subject: clean up - session/socket/engine stuff removed --- src/safe_object.cpp | 76 ----------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 src/safe_object.cpp (limited to 'src/safe_object.cpp') diff --git a/src/safe_object.cpp b/src/safe_object.cpp deleted file mode 100644 index d4a92d7..0000000 --- a/src/safe_object.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* - Copyright (c) 2007-2009 FastMQ Inc. - - This file is part of 0MQ. - - 0MQ is free software; you can redistribute it and/or modify it under - the terms of the Lesser GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - 0MQ is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - Lesser GNU General Public License for more details. - - You should have received a copy of the Lesser GNU General Public License - along with this program. If not, see . -*/ - -#include "safe_object.hpp" - -zmq::safe_object_t::safe_object_t (class context_t *context_, - int thread_slot_) : - object_t (context_, thread_slot_), - processed_seqnum (0), - terminating (false) -{ -} - -zmq::safe_object_t::safe_object_t (object_t *parent_) : - object_t (parent_), - processed_seqnum (0), - terminating (false) -{ -} - -void zmq::safe_object_t::inc_seqnum () -{ - // This function is called from the sender thread to ensure that this - // object will still exist when the command sent to it arrives in the - // destination thread. - sent_seqnum.add (1); -} - -void zmq::safe_object_t::process_command (struct command_t &cmd_) -{ - object_t::process_command (cmd_); - - // Adjust sequence number of the last processed command. - processed_seqnum++; - - // If we are already in the termination phase and all commands sent to - // this object are processed, it's safe to deallocate it. - if (terminating && sent_seqnum.get () == processed_seqnum) - delete this; -} - -void zmq::safe_object_t::terminate () -{ - // Wait till all commands sent to this session are processed. - terminating = true; - - // If there's no pending command we can deallocate the session - // straight saway. - if (sent_seqnum.get () == processed_seqnum) - delete this; -} - -bool zmq::safe_object_t::is_terminating () -{ - return terminating; -} - -zmq::safe_object_t::~safe_object_t () -{ -} -- cgit v1.2.3