diff options
Diffstat (limited to 'ACE/apps/JAWS/clients/Caching/ID_Generator.cpp')
-rw-r--r-- | ACE/apps/JAWS/clients/Caching/ID_Generator.cpp | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/ACE/apps/JAWS/clients/Caching/ID_Generator.cpp b/ACE/apps/JAWS/clients/Caching/ID_Generator.cpp deleted file mode 100644 index 6e868611835..00000000000 --- a/ACE/apps/JAWS/clients/Caching/ID_Generator.cpp +++ /dev/null @@ -1,61 +0,0 @@ -// $Id$ - -#if !defined (ACE_ID_GENERATOR_C) -#define ACE_ID_GENERATOR_C - -#include "ace/Object_Manager.h" -#include "ID_Generator.h" - -ACE_RCSID(Caching, ID_Generator, "$Id$") - -time_t ACE_ID_Generator::last_time_ = 0; - -size_t ACE_ID_Generator::last_number_ = 0; - -ACE_SYNCH_MUTEX *ACE_ID_Generator::lock_ = 0; - -char * -ACE_ID_Generator::get_new_id (char *id) -{ - time_t t; - size_t sn; - - ACE_ID_Generator::get_serial_id (t, sn); - ACE_NEW_RETURN (id, char [ACE_OFFER_ID_LENGTH], 0); - - ACE_OS::sprintf (id, "%014d%06d", t, sn); - return id; -} - -void -ACE_ID_Generator::get_serial_id (time_t &t, size_t &s) -{ - ACE_MT (ACE_GUARD (ACE_SYNCH_MUTEX, ace_mon, *ACE_ID_Generator::get_lock ())); - ACE_OS::time (&t); - - if (t != ACE_ID_Generator::last_time_) - { - ACE_ID_Generator::last_time_ = t; - s = ACE_ID_Generator::last_number_ = 0; - } - else - s = ACE_ID_Generator::last_number_++; -} - -ACE_SYNCH_MUTEX * -ACE_ID_Generator::get_lock (void) -{ -#if defined (ACE_HAS_THREADS) - if (ACE_ID_Generator::lock_ == 0) - { - ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance (), 0)); - - // Double-checked Locking Optimization. - if (ACE_ID_Generator::lock_ == 0) - ACE_NEW_RETURN (ACE_ID_Generator::lock_, ACE_SYNCH_MUTEX, 0); - } -#endif /* ACE_HAS_THREADS */ - return ACE_ID_Generator::lock_; -} - -#endif /* ACE_ID_GENERATOR_C */ |