diff options
Diffstat (limited to 'ACE')
102 files changed, 1211 insertions, 241 deletions
@@ -8,16 +8,6 @@ USER VISIBLE CHANGES BETWEEN ACE-6.3.1 and ACE-6.3.2 supported. Please see tests/Chrono_Test.cpp for more details. -. Allow ACE_INET_Addr to hold all addresses associated with a hostname. The - set of addresses always has a "current" address which is accessed by the - usual "get"-type methods on the class. Two new methods are added to deal - with multiple addresses: - - bool next (void): makes the next available address the "current" one. - Returns false if there are no more addresses. - - void reset (void): resets the iteration mechanism to be able to examine - all of the addresses again. - ACE_Multihomed_INET_Addr has also been enhanced so that the get_addresses() - methods copy all available addresses related to each name. USER VISIBLE CHANGES BETWEEN ACE-6.3.0 and ACE-6.3.1 ==================================================== diff --git a/ACE/ace/Dev_Poll_Reactor.cpp b/ACE/ace/Dev_Poll_Reactor.cpp index 9bf45ceb24e..87d78be7197 100644 --- a/ACE/ace/Dev_Poll_Reactor.cpp +++ b/ACE/ace/Dev_Poll_Reactor.cpp @@ -1320,7 +1320,22 @@ ACE_Dev_Poll_Reactor::dispatch_io_event (Token_Guard &guard) if (info != 0 && info->event_handler == eh) { if (status < 0) - this->remove_handler_i (handle, disp_mask, grd); + { + this->remove_handler_i (handle, disp_mask, grd); +#ifdef ACE_HAS_EVENT_POLL + // epoll-based effectively suspends handlers around the upcall. + // If the handler must be resumed, check to be sure it's the + // same handle/handler combination still. + if (reactor_resumes_eh) + { + info = this->handler_rep_.find (handle); + if (info != 0 && info->event_handler == eh) + { + this->resume_handler_i (handle); + } + } +#endif /* ACE_HAS_EVENT_POLL */ + } } } // Scope close handles eh ref count decrement, if needed. diff --git a/ACE/ace/INET_Addr.cpp b/ACE/ace/INET_Addr.cpp index 96e26b93dcf..65722e5c4d6 100644 --- a/ACE/ace/INET_Addr.cpp +++ b/ACE/ace/INET_Addr.cpp @@ -152,31 +152,11 @@ ACE_INET_Addr::hash (void) const return this->get_ip_address () + this->get_port_number (); } -bool -ACE_INET_Addr::next (void) -{ - if (this->inet_addrs_.empty () || - this->inet_addrs_iter_ == this->inet_addrs_.end ()) - return false; - - union ip46 next_a = *this->inet_addrs_iter_++; - this->set_addr (&next_a, sizeof (next_a)); - return true; -} - -void -ACE_INET_Addr::reset (void) -{ - this->inet_addrs_iter_ = this->inet_addrs_.begin (); - this->next (); - return; -} - ACE_INET_Addr::ACE_INET_Addr (void) : ACE_Addr (determine_type (), sizeof (inet_addr_)) { // ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); } ACE_INET_Addr & @@ -203,8 +183,6 @@ ACE_INET_Addr::set (const ACE_INET_Addr &sa) this->set_type (sa.get_type()); this->set_size (sa.get_size()); - this->inet_addrs_ = sa.inet_addrs_; - this->reset (); } return 0; @@ -295,7 +273,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char address[], int address_family) : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); this->set (address, address_family); } @@ -304,7 +282,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t address[], int address_family) : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); this->set (address, address_family); } @@ -316,7 +294,7 @@ ACE_INET_Addr::ACE_INET_Addr (const ACE_INET_Addr &sa) : ACE_Addr (sa.get_type (), sa.get_size()) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); this->set (sa); } @@ -383,6 +361,12 @@ ACE_INET_Addr::set (u_short port_number, { if (hp != 0) { + struct sockaddr_in6 v6; + ACE_OS::memset (&v6, 0, sizeof (v6)); + v6.sin6_family = AF_INET6; + (void) ACE_OS::memcpy ((void *) &v6.sin6_addr, + hp->h_addr, + hp->h_length); this->set_type (hp->h_addrtype); for (size_t i = 0; hp->h_addr_list[i]; ++i) { @@ -410,35 +394,16 @@ ACE_INET_Addr::set (u_short port_number, return -1; # else struct addrinfo hints; - struct addrinfo *res = 0, *curr = 0; + struct addrinfo *res = 0; int error = 0; ACE_OS::memset (&hints, 0, sizeof (hints)); hints.ai_family = AF_INET6; if ((error = ::getaddrinfo (host_name, 0, &hints, &res)) == 0) { this->set_type (res->ai_family); - for (curr = res; curr; curr = curr->ai_next) - { - union ip46 next_addr; - if (curr->ai_family == AF_INET6) - { - ACE_OS::memcpy (&next_addr.in6_, - curr->ai_addr, - curr->ai_addrlen); - next_addr.in6_.sin6_port = - encode ? ACE_NTOHS (port_number) : port_number; - } - else - { - ACE_OS::memcpy (&next_addr.in4_, - curr->ai_addr, - curr->ai_addrlen); - next_addr.in4_.sin_port = - encode ? ACE_NTOHS (port_number) : port_number; - } - this->inet_addrs_.push_back (next_addr); - } - this->reset (); + this->set_addr (res->ai_addr, + ACE_Utils::truncate_cast<int>(res->ai_addrlen)); + this->set_port_number (port_number, encode); ::freeaddrinfo (res); return 0; } @@ -464,40 +429,34 @@ ACE_INET_Addr::set (u_short port_number, struct in_addr addrv4; if (ACE_OS::inet_aton (host_name, &addrv4) == 1) + return this->set (port_number, + encode ? ACE_NTOHL (addrv4.s_addr) : addrv4.s_addr, + encode); + else { - this->inet_addrs_iter_ = this->inet_addrs_.end (); - return this->set (port_number, - encode ? ACE_NTOHL (addrv4.s_addr) : addrv4.s_addr, - encode); - } - - hostent hentry; - ACE_HOSTENT_DATA buf; - int h_error = 0; // Not the same as errno! + hostent hentry; + ACE_HOSTENT_DATA buf; + int h_error = 0; // Not the same as errno! - hostent *hp = ACE_OS::gethostbyname_r (host_name, &hentry, - buf, &h_error); - if (hp == 0) - { - errno = h_error; - return -1; - } + hostent *hp = ACE_OS::gethostbyname_r (host_name, &hentry, + buf, &h_error); + if (hp == 0) + errno = h_error; - this->set_type (hp->h_addrtype); - for (size_t i = 0; hp->h_addr_list[i]; ++i) - { - union ip46 next_addr; - struct sockaddr_in *next_addr_in = (struct sockaddr_in *)&next_addr.in4_; - (void) ACE_OS::memset (&next_addr, sizeof (next_addr), 0); - next_addr_in->sin_family = AF_INET; - next_addr_in->sin_port = encode ? ACE_NTOHS (port_number) : port_number; - (void) ACE_OS::memcpy ((void *) &next_addr_in->sin_addr, - hp->h_addr_list[i], - hp->h_length); - this->inet_addrs_.push_back (next_addr); + if (hp == 0) + { + return -1; + } + else + { + (void) ACE_OS::memcpy ((void *) &addrv4.s_addr, + hp->h_addr, + hp->h_length); + return this->set (port_number, + encode ? ACE_NTOHL (addrv4.s_addr) : addrv4.s_addr, + encode); + } } - this->reset (); - return 0; } // Helper function to get a port number from a port name. @@ -673,18 +632,17 @@ ACE_INET_Addr::get_addr (void) const } void -ACE_INET_Addr::set_addr (const void *addr, int len) +ACE_INET_Addr::set_addr (void *addr, int len) { this->set_addr (addr, len, 0); } // Set a pointer to the address. void -ACE_INET_Addr::set_addr (const void *addr, int /* len */, int map) +ACE_INET_Addr::set_addr (void *addr, int /* len */, int map) { ACE_TRACE ("ACE_INET_Addr::set_addr"); - const struct sockaddr_in *getfamily = - static_cast<const struct sockaddr_in *> (addr); + struct sockaddr_in *getfamily = static_cast<struct sockaddr_in *> (addr); if (getfamily->sin_family == AF_INET) { @@ -702,8 +660,7 @@ ACE_INET_Addr::set_addr (const void *addr, int /* len */, int map) #if defined (ACE_HAS_IPV6) else if (getfamily->sin_family == AF_INET6) { - const struct sockaddr_in6 *in6 = - static_cast<const struct sockaddr_in6*> (addr); + struct sockaddr_in6 *in6 = static_cast<struct sockaddr_in6*> (addr); this->set_port_number (in6->sin6_port, 0); this->set_address (reinterpret_cast<const char*> (&in6->sin6_addr), sizeof (in6->sin6_addr), @@ -719,7 +676,7 @@ ACE_INET_Addr::ACE_INET_Addr (const sockaddr_in *addr, int len) : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); this->set (addr, len); } @@ -730,7 +687,7 @@ ACE_INET_Addr::ACE_INET_Addr (u_short port_number, : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); if (this->set (port_number, inet_address) == -1) ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), @@ -746,7 +703,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[], : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); if (this->set (port_name, host_name, protocol) == -1) @@ -761,7 +718,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[], : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); if (this->set (port_name, host_name, protocol) == -1) @@ -778,7 +735,7 @@ ACE_INET_Addr::ACE_INET_Addr (const char port_name[], : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); if (this->set (port_name, ACE_HTONL (inet_address), protocol) == -1) @@ -793,7 +750,7 @@ ACE_INET_Addr::ACE_INET_Addr (const wchar_t port_name[], : ACE_Addr (determine_type (), sizeof (inet_addr_)) { ACE_TRACE ("ACE_INET_Addr::ACE_INET_Addr"); - this->reset_i (); + this->reset (); if (this->set (port_name, ACE_HTONL (inet_address), protocol) == -1) diff --git a/ACE/ace/INET_Addr.h b/ACE/ace/INET_Addr.h index c1a40553754..94528891bbd 100644 --- a/ACE/ace/INET_Addr.h +++ b/ACE/ace/INET_Addr.h @@ -19,7 +19,6 @@ #endif /* ACE_LACKS_PRAGMA_ONCE */ #include "ace/Addr.h" -#include <vector> ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -28,10 +27,6 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL * * @brief Defines a C++ wrapper facade for the Internet domain address * family format. - * - * ACE_INET_Addr can hold all of the IP addresses assigned to a single name. - * By default it refers only to the first, if there is more than one. The - * next() method can make the others available in turn. */ class ACE_Export ACE_INET_Addr : public ACE_Addr { @@ -208,14 +203,14 @@ public: int get_addr_size(void) const; /// Set a pointer to the address. - virtual void set_addr (const void *, int len); + virtual void set_addr (void *, int len); /// Set a pointer to the address. - virtual void set_addr (const void *, int len, int map); + virtual void set_addr (void *, int len, int map); /** * Transform the current ACE_INET_Addr address into string format. - * If @a ipaddr_format is true this produces "ip-number:port-number" + * If @a ipaddr_format is ttrue this produces "ip-number:port-number" * (e.g., "128.252.166.57:1234"), whereas if @a ipaddr_format is false * this produces "ip-name:port-number" (e.g., * "tango.cs.wustl.edu:1234"). Returns -1 if the @a size of the @@ -366,13 +361,6 @@ public: /// Computes and returns hash value. virtual u_long hash (void) const; - /// If there is another address to examine, move to it and return true; - /// else return false. - bool next (void); - - /// Reset the set of address so they can be scanned again using next(). - void reset (void); - /// Dump the state of an object. void dump (void) const; @@ -390,22 +378,18 @@ private: int determine_type (void) const; /// Initialize underlying inet_addr_ to default values - void reset_i (void); + void reset (void); /// Underlying representation. /// This union uses the knowledge that the two structures share the /// first member, sa_family (as all sockaddr structures do). - union ip46 + union { sockaddr_in in4_; #if defined (ACE_HAS_IPV6) sockaddr_in6 in6_; #endif /* ACE_HAS_IPV6 */ } inet_addr_; - // If there is more than one address assigned to a given name, this - // holds all of them; one is always copied to inet_addr_. - std::vector<union ip46> inet_addrs_; - std::vector<union ip46>::iterator inet_addrs_iter_; }; ACE_END_VERSIONED_NAMESPACE_DECL diff --git a/ACE/ace/INET_Addr.inl b/ACE/ace/INET_Addr.inl index 2532bb9cb6f..6cc14c97558 100644 --- a/ACE/ace/INET_Addr.inl +++ b/ACE/ace/INET_Addr.inl @@ -7,7 +7,7 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void -ACE_INET_Addr::reset_i (void) +ACE_INET_Addr::reset (void) { ACE_OS::memset (&this->inet_addr_, 0, sizeof (this->inet_addr_)); if (this->get_type() == AF_INET) diff --git a/ACE/ace/Multihomed_INET_Addr.cpp b/ACE/ace/Multihomed_INET_Addr.cpp index 1acc40c1053..a734beb1ae2 100644 --- a/ACE/ace/Multihomed_INET_Addr.cpp +++ b/ACE/ace/Multihomed_INET_Addr.cpp @@ -243,40 +243,21 @@ void ACE_Multihomed_INET_Addr::get_addresses(sockaddr_in *addrs, size_t size) const { - if (size == 0) - return; - // Copy primary address(es) to the first slot(s) of the user-supplied array - ACE_INET_Addr me (*this); - size_t i = 0; - for (i = 0; i < size; ++i) - { - sockaddr_in *in4 = reinterpret_cast<sockaddr_in*> (me.get_addr ()); - if (in4->sin_family == AF_INET) - { - addrs[i] = *in4; - ++i; - } - if (!me.next ()) - break; - } + // Copy primary address to the first slot of the user-supplied array + if (size > 0) { + addrs[0] = *reinterpret_cast<sockaddr_in*> (this->get_addr ()); + } // Copy secondary addresses to remaining slots of the user-supplied // array. Secondary address [i] is copied to slot [i+1] - for (size_t j = 0; j < this->secondaries_.size (); ++j) - { - ACE_INET_Addr copy (this->secondaries_[j]); - for (; i < size; ++i) - { - sockaddr_in *in4 = reinterpret_cast<sockaddr_in*> (copy.get_addr ()); - if (in4->sin_family == AF_INET) - { - addrs[i] = *in4; - ++i; - } - if (!copy.next ()) - break; - } - } + + size_t top = size - 1 < this->secondaries_.size() ? + size - 1 : this->secondaries_.size(); + + for (size_t i = 0; i < top; ++i) { + addrs[i+1] = + *reinterpret_cast<sockaddr_in*> (this->secondaries_[i].get_addr()); + } } #if defined (ACE_HAS_IPV6) @@ -284,40 +265,22 @@ void ACE_Multihomed_INET_Addr::get_addresses(sockaddr_in6 *addrs, size_t size) const { - if (size == 0) - return; - // Copy primary address(es) to the first slot(s) of the user-supplied array - ACE_INET_Addr me (*this); - size_t i = 0; - for (i = 0; i < size; ++i) + // Copy primary address to the first slot of the user-supplied array + if (size > 0) { - sockaddr_in6 *in6 = reinterpret_cast<sockaddr_in6*> (me.get_addr ()); - if (in6->sin6_family == AF_INET6) - { - addrs[i] = *in6; - ++i; - } - if (!me.next ()) - break; + addrs[0] = *reinterpret_cast<sockaddr_in6*> (this->get_addr ()); } // Copy secondary addresses to remaining slots of the user-supplied // array. Secondary address [i] is copied to slot [i+1] - for (size_t j = 0; j < this->secondaries_.size (); ++j) + size_t top = + size - 1 < this->secondaries_.size() ? + size - 1 : this->secondaries_.size(); + + for (size_t i = 0; i < top; ++i) { - ACE_INET_Addr copy (this->secondaries_[j]); - for (; i < size; ++i) - { - sockaddr_in6 *in6 = - reinterpret_cast<sockaddr_in6*> (copy.get_addr ()); - if (in6->sin6_family == AF_INET6) - { - addrs[i] = *in6; - ++i; - } - if (!copy.next ()) - break; - } + addrs[i+1] = + *reinterpret_cast<sockaddr_in6*> (this->secondaries_[i].get_addr()); } } #endif /* ACE_HAS_IPV6 */ diff --git a/ACE/apps/Gateway/Gateway/.gitignore b/ACE/apps/Gateway/Gateway/.gitignore new file mode 100644 index 00000000000..e41fe225306 --- /dev/null +++ b/ACE/apps/Gateway/Gateway/.gitignore @@ -0,0 +1 @@ +/gatewayd diff --git a/ACE/apps/Gateway/Peer/.gitignore b/ACE/apps/Gateway/Peer/.gitignore new file mode 100644 index 00000000000..0609af732f2 --- /dev/null +++ b/ACE/apps/Gateway/Peer/.gitignore @@ -0,0 +1 @@ +/peerd diff --git a/ACE/apps/JAWS/server/.gitignore b/ACE/apps/JAWS/server/.gitignore new file mode 100644 index 00000000000..95811e0016a --- /dev/null +++ b/ACE/apps/JAWS/server/.gitignore @@ -0,0 +1 @@ +/main diff --git a/ACE/apps/drwho/.gitignore b/ACE/apps/drwho/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/apps/drwho/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/apps/gperf/src/.gitignore b/ACE/apps/gperf/src/.gitignore new file mode 100644 index 00000000000..45889fb918c --- /dev/null +++ b/ACE/apps/gperf/src/.gitignore @@ -0,0 +1,2 @@ +/ace_gperf +/gperf diff --git a/ACE/apps/gperf/tests/.gitignore b/ACE/apps/gperf/tests/.gitignore new file mode 100644 index 00000000000..f5739620364 --- /dev/null +++ b/ACE/apps/gperf/tests/.gitignore @@ -0,0 +1,29 @@ +/ada.cpp +/adadefs.cpp +/aout +/aout.out +/c.cpp +/corba.cpp +/cout +/cout.out +/cpp.cpp +/cppout +/cppout.out +/idl.cpp +/iout +/iout.out +/iout2 +/iout2.out +/m3out +/m3out.out +/modula3.cpp +/pascal.cpp +/pout +/pout.out +/preout +/preout.out +/tao.cpp +/taoout +/taoout.out +/tout +/tout.out diff --git a/ACE/apps/mkcsregdb/.gitignore b/ACE/apps/mkcsregdb/.gitignore new file mode 100644 index 00000000000..e03d21d2d92 --- /dev/null +++ b/ACE/apps/mkcsregdb/.gitignore @@ -0,0 +1 @@ +/mkcsregdb diff --git a/ACE/apps/soreduce/.gitignore b/ACE/apps/soreduce/.gitignore new file mode 100644 index 00000000000..668fb90c2e3 --- /dev/null +++ b/ACE/apps/soreduce/.gitignore @@ -0,0 +1 @@ +/soreduce diff --git a/ACE/bin/.gitignore b/ACE/bin/.gitignore new file mode 100644 index 00000000000..1ac82dfd0ba --- /dev/null +++ b/ACE/bin/.gitignore @@ -0,0 +1,9 @@ +/ace_gperf +/tao_catior +/tao_idl* +/tao_ifr* +/tao_imr* +/tao_logWalker +/tao_nsadd +/tao_nsdel +/tao_nslist diff --git a/ACE/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm b/ACE/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm index d7e63a1ed83..ba664a183c2 100644 --- a/ACE/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm +++ b/ACE/bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm @@ -99,7 +99,7 @@ sub write_comps { if ($named) { $self->write_named_targets($fh, $crlf, \%targnum, \@list, 'REMAINING_TARGETS := ' . - '$(filter-out all,$(TARGETS_NESTED:.nested=)) $(CUSTOM_TARGETS)' . + '$(filter-out all depend,$(TARGETS_NESTED:.nested=)) $(CUSTOM_TARGETS)' . "$crlf$crlf\$(REMAINING_TARGETS)", '', '', $self->project_target_translation(1), 1); } diff --git a/ACE/bin/make_release.py b/ACE/bin/make_release.py index 9c58750ed4c..c3ba27e384f 100755 --- a/ACE/bin/make_release.py +++ b/ACE/bin/make_release.py @@ -861,7 +861,7 @@ def package (stage_dir, package_dir, decorator): pass # swallow any errors text_files, bin_files = create_file_lists (join (stage_dir, "ACE_wrappers"), - "ACE_wrappers", ["TAO"]) + "ACE_wrappers", ["TAO", ".gitignore"]) # write_file_lists ("fACE" + decorator, text_files, bin_files) update_packages ("\n".join (text_files), @@ -876,7 +876,7 @@ def package (stage_dir, package_dir, decorator): # for TAO: text_files, bin_files = create_file_lists (join (stage_dir, "ACE_wrappers/TAO"), - "ACE_wrappers/TAO", ["CIAO", "DAnCE"]) + "ACE_wrappers/TAO", ["CIAO", "DAnCE", ".gitignore"]) # write_file_lists ("fTAO" + decorator, text_files, bin_files) update_packages ("\n".join (text_files), @@ -891,7 +891,7 @@ def package (stage_dir, package_dir, decorator): # for DAnCE: text_files, bin_files = create_file_lists (join (stage_dir, "ACE_wrappers/TAO/DAnCE"), - "ACE_wrappers/TAO/DAnCE", []) + "ACE_wrappers/TAO/DAnCE", [".gitignore"]) # write_file_lists ("fTAO" + decorator, text_files, bin_files) update_packages ("\n".join (text_files), @@ -905,7 +905,7 @@ def package (stage_dir, package_dir, decorator): bin_files = list () # for CIAO: text_files, bin_files = create_file_lists (join (stage_dir, "ACE_wrappers/TAO/CIAO"), - "ACE_wrappers/TAO/CIAO", []) + "ACE_wrappers/TAO/CIAO", [".gitignore"]) # write_file_lists ("fCIAO" + decorator, text_files, bin_files) update_packages ("\n".join (text_files), diff --git a/ACE/bin/valgrind.supp b/ACE/bin/valgrind.supp index 6322f2c9401..f5fa8a33f0f 100644 --- a/ACE/bin/valgrind.supp +++ b/ACE/bin/valgrind.supp @@ -35,6 +35,13 @@ } { + <Suppress all the conditional jumps in grep> + Memcheck:Cond + ... + obj:*/bin/grep +} + +{ <Suppress all the leaks in ps> Memcheck:Leak ... diff --git a/ACE/docs/bczar/bczar.html b/ACE/docs/bczar/bczar.html index 574e5639634..ef38733e838 100644 --- a/ACE/docs/bczar/bczar.html +++ b/ACE/docs/bczar/bczar.html @@ -118,7 +118,7 @@ </ul> If you want to perform a full build with qt support, than run: <ul> - <li><code>yum install bison libxerces-c-devel psmisc yum-utils gdb unzip glibc-devel libasan bison redhat-lsb perl-Pod-Usage rubygems clang make patch libcgroup-devel ant setuptool system-config-network-tui system-config-firewall-tui lcov gnuplot java-1.7.0-openjdk git-svn perl svn screen pysvn automake doxygen bzip2 tar gzip openssh graphviz zip libtool gcc-c++ boost-devel valgrind openssl-devel gcc qt4 fltk-devel bzip2-devel rsync openssl lzo-devel zziplib-devel acpid acpi nfs-utils java xerces-c xerces-c-devel mc qt qt-devel icecream ruby ruby-devel lksctp-tools-devel git telnet GitPython NetworkManager wget mailx</code></li> + <li><code>yum install rubygem-rmagick bison libxerces-c-devel psmisc yum-utils gdb unzip glibc-devel libasan bison redhat-lsb perl-Pod-Usage rubygems clang make patch libcgroup-devel ant setuptool system-config-network-tui system-config-firewall-tui lcov gnuplot java-1.7.0-openjdk git-svn perl svn screen pysvn automake doxygen bzip2 tar gzip openssh graphviz zip libtool gcc-c++ boost-devel valgrind openssl-devel gcc qt4 fltk-devel bzip2-devel rsync openssl lzo-devel zziplib-devel acpid acpi nfs-utils java xerces-c xerces-c-devel mc qt qt-devel icecream ruby ruby-devel lksctp-tools-devel git telnet GitPython NetworkManager wget mailx</code></li> </ul> For some optional i686 packages run <ul> @@ -165,7 +165,7 @@ </li> <li> Tag the release by executing<br> - <code>ACE/bin/make_release.py --beta --update --tag -- push</code><br> + <code>ACE/bin/make_release.py --beta --update --tag --push</code><br> This will only take a couple minutes to complete and once done successfully, you can carry on with BOTH creating the kits and generating the doxygen documentation in parallel. NOTE that <code>--beta</code> should be replaced diff --git a/ACE/examples/APG/Active_Objects/.gitignore b/ACE/examples/APG/Active_Objects/.gitignore new file mode 100644 index 00000000000..b554655b816 --- /dev/null +++ b/ACE/examples/APG/Active_Objects/.gitignore @@ -0,0 +1,2 @@ +/AO +/AO2 diff --git a/ACE/examples/APG/Config/.gitignore b/ACE/examples/APG/Config/.gitignore new file mode 100644 index 00000000000..a68e3e1c0be --- /dev/null +++ b/ACE/examples/APG/Config/.gitignore @@ -0,0 +1,3 @@ +/ARGV_Example +/Get_Opt +/Get_Opt_Long diff --git a/ACE/examples/APG/Containers/.gitignore b/ACE/examples/APG/Containers/.gitignore new file mode 100644 index 00000000000..eabc4edccc7 --- /dev/null +++ b/ACE/examples/APG/Containers/.gitignore @@ -0,0 +1,12 @@ +/Allocator +/Array +/DLList +/Hash_Map +/Hash_Map_Hash +/Map_Manager +/Map_Manager_Specialization +/Queues +/RB_Tree +/RB_Tree_Functors +/Sets +/Stacks diff --git a/ACE/examples/APG/Logging/.gitignore b/ACE/examples/APG/Logging/.gitignore new file mode 100644 index 00000000000..abe0e9c6058 --- /dev/null +++ b/ACE/examples/APG/Logging/.gitignore @@ -0,0 +1,18 @@ +/Change_Instance_Default +/Change_Mask +/Howto_Syslog +/Simple1 +/Simple2 +/Trace_Return +/Use_Callback +/Use_Callback2 +/Use_LogManager +/Use_Logger +/Use_Logging_Server +/Use_Logging_Strategy +/Use_Multiple_Sinks +/Use_Ostream +/Use_Stderr +/Use_Syslog +/Wrap_Macros +/Wrap_Macros_Alt diff --git a/ACE/examples/APG/Misc_IPC/.gitignore b/ACE/examples/APG/Misc_IPC/.gitignore new file mode 100644 index 00000000000..73dc4196699 --- /dev/null +++ b/ACE/examples/APG/Misc_IPC/.gitignore @@ -0,0 +1,3 @@ +/UDP_Broadcast +/UDP_Multicast +/UDP_Unicast diff --git a/ACE/examples/APG/Naming/.gitignore b/ACE/examples/APG/Naming/.gitignore new file mode 100644 index 00000000000..dcded266d87 --- /dev/null +++ b/ACE/examples/APG/Naming/.gitignore @@ -0,0 +1,5 @@ +/Netlocal +/Netlocal_reader +/Nodelocal +/Nodelocal_shared +/Nodelocal_shared_reader diff --git a/ACE/examples/APG/Proactor/.gitignore b/ACE/examples/APG/Proactor/.gitignore new file mode 100644 index 00000000000..b2d1ad0aedd --- /dev/null +++ b/ACE/examples/APG/Proactor/.gitignore @@ -0,0 +1 @@ +/HA_Proactive_Status diff --git a/ACE/examples/APG/Processes/.gitignore b/ACE/examples/APG/Processes/.gitignore new file mode 100644 index 00000000000..9c584f698d2 --- /dev/null +++ b/ACE/examples/APG/Processes/.gitignore @@ -0,0 +1,4 @@ +/Process_Manager_Death +/Process_Manager_Spawn +/Process_Mutex +/Spawn diff --git a/ACE/examples/APG/Reactor/.gitignore b/ACE/examples/APG/Reactor/.gitignore new file mode 100644 index 00000000000..949279badd7 --- /dev/null +++ b/ACE/examples/APG/Reactor/.gitignore @@ -0,0 +1,8 @@ +/Client +/HAStatus +/HAStatus-AC +/Reschedule +/Schedule_Timers +/Timer_Cancel +/Timer_State_Data +/Timers diff --git a/ACE/examples/APG/Shared_Memory/.gitignore b/ACE/examples/APG/Shared_Memory/.gitignore new file mode 100644 index 00000000000..c0380deab46 --- /dev/null +++ b/ACE/examples/APG/Shared_Memory/.gitignore @@ -0,0 +1,5 @@ +/Hash_Map +/Malloc +/Mem_Map +/PI_Malloc +/Pool_Growth diff --git a/ACE/examples/APG/Signals/.gitignore b/ACE/examples/APG/Signals/.gitignore new file mode 100644 index 00000000000..136fbd6b628 --- /dev/null +++ b/ACE/examples/APG/Signals/.gitignore @@ -0,0 +1,5 @@ +/SigAction +/SigGuard +/SigHandler +/SigHandlers +/SigInfo diff --git a/ACE/examples/APG/Sockets/.gitignore b/ACE/examples/APG/Sockets/.gitignore new file mode 100644 index 00000000000..1ecd53c1f22 --- /dev/null +++ b/ACE/examples/APG/Sockets/.gitignore @@ -0,0 +1,4 @@ +/Basic +/Basic_Robust +/Iovec +/Server diff --git a/ACE/examples/APG/Streams/.gitignore b/ACE/examples/APG/Streams/.gitignore new file mode 100644 index 00000000000..53f7185d0df --- /dev/null +++ b/ACE/examples/APG/Streams/.gitignore @@ -0,0 +1 @@ +/Answerer diff --git a/ACE/examples/APG/Svc_Config/.gitignore b/ACE/examples/APG/Svc_Config/.gitignore new file mode 100644 index 00000000000..1e14438ff32 --- /dev/null +++ b/ACE/examples/APG/Svc_Config/.gitignore @@ -0,0 +1,2 @@ +/HA_Configurable_Server_Dynamic +/HA_Configurable_Server_Static diff --git a/ACE/examples/APG/ThreadManagement/.gitignore b/ACE/examples/APG/ThreadManagement/.gitignore new file mode 100644 index 00000000000..5a29ec72211 --- /dev/null +++ b/ACE/examples/APG/ThreadManagement/.gitignore @@ -0,0 +1,9 @@ +/Async_Cancel +/Coop_Cancel +/ExitHandler +/Pool +/Priorities +/Signals +/Signals2 +/Start_Hook +/State diff --git a/ACE/examples/APG/ThreadPools/.gitignore b/ACE/examples/APG/ThreadPools/.gitignore new file mode 100644 index 00000000000..54880bf57f1 --- /dev/null +++ b/ACE/examples/APG/ThreadPools/.gitignore @@ -0,0 +1,5 @@ +/Futures +/LF_ThreadPool +/TP_Reactor +/Task_ThreadPool +/ThreadPool diff --git a/ACE/examples/APG/ThreadSafety/.gitignore b/ACE/examples/APG/ThreadSafety/.gitignore new file mode 100644 index 00000000000..324e6258753 --- /dev/null +++ b/ACE/examples/APG/ThreadSafety/.gitignore @@ -0,0 +1,8 @@ +/Atomic_Op +/Barrier +/Mutex +/RW_Lock +/Semaphore +/TSS +/Tokens +/Tokens_Deadlock diff --git a/ACE/examples/APG/Threads/.gitignore b/ACE/examples/APG/Threads/.gitignore new file mode 100644 index 00000000000..136d1b40f19 --- /dev/null +++ b/ACE/examples/APG/Threads/.gitignore @@ -0,0 +1,6 @@ +/Activate +/Condition_Variables +/Guards +/Message_Blocks +/Message_Queue +/Mutexes diff --git a/ACE/examples/APG/Timers/.gitignore b/ACE/examples/APG/Timers/.gitignore new file mode 100644 index 00000000000..ccc432acf0c --- /dev/null +++ b/ACE/examples/APG/Timers/.gitignore @@ -0,0 +1,4 @@ +/Alarm +/Task +/Timers +/Upcall diff --git a/ACE/examples/ASX/.gitignore b/ACE/examples/ASX/.gitignore new file mode 100644 index 00000000000..aa2584b96c2 --- /dev/null +++ b/ACE/examples/ASX/.gitignore @@ -0,0 +1 @@ +/Mess diff --git a/ACE/examples/ASX/CCM_App/.gitignore b/ACE/examples/ASX/CCM_App/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/examples/ASX/CCM_App/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/examples/ASX/Message_Queue/.gitignore b/ACE/examples/ASX/Message_Queue/.gitignore new file mode 100644 index 00000000000..16a39ce88c7 --- /dev/null +++ b/ACE/examples/ASX/Message_Queue/.gitignore @@ -0,0 +1,3 @@ +/bounded_buffer +/buffer_stream +/priority_buffer diff --git a/ACE/examples/Bounded_Packet_Relay/.gitignore b/ACE/examples/Bounded_Packet_Relay/.gitignore new file mode 100644 index 00000000000..c4bd6fde9b7 --- /dev/null +++ b/ACE/examples/Bounded_Packet_Relay/.gitignore @@ -0,0 +1 @@ +/bpr_thread diff --git a/ACE/examples/C++NPv1/.gitignore b/ACE/examples/C++NPv1/.gitignore new file mode 100644 index 00000000000..77d7cfec4d7 --- /dev/null +++ b/ACE/examples/C++NPv1/.gitignore @@ -0,0 +1,7 @@ +/RTTPC_logging_server +/iterative_logging_server +/logging_client +/ppc_logging_server +/reactive_logging_server +/reactive_logging_server_ex +/tpc_logging_server diff --git a/ACE/examples/C++NPv2/.gitignore b/ACE/examples/C++NPv2/.gitignore new file mode 100644 index 00000000000..51bbbf3f126 --- /dev/null +++ b/ACE/examples/C++NPv2/.gitignore @@ -0,0 +1,7 @@ +/configurable_logging_server +/display_logfile +/reactor_logging_server +/select_reactor_loggin_server +/sr_configurable_logging_server +/tp_reactor_logging_server +/x diff --git a/ACE/examples/Connection/blocking/.gitignore b/ACE/examples/Connection/blocking/.gitignore new file mode 100644 index 00000000000..e9fa5cdaf19 --- /dev/null +++ b/ACE/examples/Connection/blocking/.gitignore @@ -0,0 +1,2 @@ +/acceptor +/connector diff --git a/ACE/examples/Connection/misc/.gitignore b/ACE/examples/Connection/misc/.gitignore new file mode 100644 index 00000000000..28a98cefb1b --- /dev/null +++ b/ACE/examples/Connection/misc/.gitignore @@ -0,0 +1,2 @@ +/handler +/test_upipe diff --git a/ACE/examples/Connection/non_blocking/.gitignore b/ACE/examples/Connection/non_blocking/.gitignore new file mode 100644 index 00000000000..3540d1e5c58 --- /dev/null +++ b/ACE/examples/Connection/non_blocking/.gitignore @@ -0,0 +1,8 @@ +/lsock_client +/lsock_server +/sock_client +/sock_server +/spipe_client +/spipe_server +/tli_client +/tli_server diff --git a/ACE/examples/DLL/.gitignore b/ACE/examples/DLL/.gitignore new file mode 100644 index 00000000000..9549c238ea8 --- /dev/null +++ b/ACE/examples/DLL/.gitignore @@ -0,0 +1 @@ +/test_dll diff --git a/ACE/examples/Export/.gitignore b/ACE/examples/Export/.gitignore new file mode 100644 index 00000000000..ee4c9268234 --- /dev/null +++ b/ACE/examples/Export/.gitignore @@ -0,0 +1 @@ +/test diff --git a/ACE/examples/IOStream/client/.gitignore b/ACE/examples/IOStream/client/.gitignore new file mode 100644 index 00000000000..5b0ab5f6d96 --- /dev/null +++ b/ACE/examples/IOStream/client/.gitignore @@ -0,0 +1 @@ +/iostream_client diff --git a/ACE/examples/IOStream/server/.gitignore b/ACE/examples/IOStream/server/.gitignore new file mode 100644 index 00000000000..90dc4ae4186 --- /dev/null +++ b/ACE/examples/IOStream/server/.gitignore @@ -0,0 +1 @@ +/iostream_server diff --git a/ACE/examples/IPC_SAP/ATM_SAP/.gitignore b/ACE/examples/IPC_SAP/ATM_SAP/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/examples/IPC_SAP/ATM_SAP/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/examples/IPC_SAP/DEV_SAP/reader/.gitignore b/ACE/examples/IPC_SAP/DEV_SAP/reader/.gitignore new file mode 100644 index 00000000000..4cb5a43f87f --- /dev/null +++ b/ACE/examples/IPC_SAP/DEV_SAP/reader/.gitignore @@ -0,0 +1 @@ +/reader diff --git a/ACE/examples/IPC_SAP/DEV_SAP/writer/.gitignore b/ACE/examples/IPC_SAP/DEV_SAP/writer/.gitignore new file mode 100644 index 00000000000..85995761ae7 --- /dev/null +++ b/ACE/examples/IPC_SAP/DEV_SAP/writer/.gitignore @@ -0,0 +1 @@ +/writer diff --git a/ACE/examples/IPC_SAP/FIFO_SAP/.gitignore b/ACE/examples/IPC_SAP/FIFO_SAP/.gitignore new file mode 100644 index 00000000000..86da185f69e --- /dev/null +++ b/ACE/examples/IPC_SAP/FIFO_SAP/.gitignore @@ -0,0 +1,5 @@ +/FIFO-Msg-client +/FIFO-Msg-server +/FIFO-client +/FIFO-server +/FIFO-test diff --git a/ACE/examples/IPC_SAP/FILE_SAP/.gitignore b/ACE/examples/IPC_SAP/FILE_SAP/.gitignore new file mode 100644 index 00000000000..7149778f20e --- /dev/null +++ b/ACE/examples/IPC_SAP/FILE_SAP/.gitignore @@ -0,0 +1 @@ +/client diff --git a/ACE/examples/IPC_SAP/SOCK_SAP/.gitignore b/ACE/examples/IPC_SAP/SOCK_SAP/.gitignore new file mode 100644 index 00000000000..2f265d3beb0 --- /dev/null +++ b/ACE/examples/IPC_SAP/SOCK_SAP/.gitignore @@ -0,0 +1,9 @@ +/C-inclient +/C-inserver +/CPP-inclient +/CPP-inserver +/CPP-memclient +/CPP-memserver +/CPP-unclient +/CPP-unserver +/FD-unclient diff --git a/ACE/examples/IPC_SAP/SPIPE_SAP/.gitignore b/ACE/examples/IPC_SAP/SPIPE_SAP/.gitignore new file mode 100644 index 00000000000..9be63f13af1 --- /dev/null +++ b/ACE/examples/IPC_SAP/SPIPE_SAP/.gitignore @@ -0,0 +1,8 @@ +/NPClient +/NPServer +/client +/consumer_msg +/consumer_read +/producer_msg +/producer_read +/server diff --git a/ACE/examples/IPC_SAP/TLI_SAP/.gitignore b/ACE/examples/IPC_SAP/TLI_SAP/.gitignore new file mode 100644 index 00000000000..20d399edb0f --- /dev/null +++ b/ACE/examples/IPC_SAP/TLI_SAP/.gitignore @@ -0,0 +1,8 @@ +/ATM-client +/ATM-server +/CPP-client +/CPP-server +/db-client +/db-server +/ftp-client +/ftp-server diff --git a/ACE/examples/IPC_SAP/UPIPE_SAP/.gitignore b/ACE/examples/IPC_SAP/UPIPE_SAP/.gitignore new file mode 100644 index 00000000000..4bfbe69e809 --- /dev/null +++ b/ACE/examples/IPC_SAP/UPIPE_SAP/.gitignore @@ -0,0 +1,3 @@ +/ex1 +/ex2 +/ex3 diff --git a/ACE/examples/Log_Msg/.gitignore b/ACE/examples/Log_Msg/.gitignore new file mode 100644 index 00000000000..3d189aefc37 --- /dev/null +++ b/ACE/examples/Log_Msg/.gitignore @@ -0,0 +1,3 @@ +/test_callback +/test_log_msg +/test_ostream diff --git a/ACE/examples/Logger/Acceptor-server/.gitignore b/ACE/examples/Logger/Acceptor-server/.gitignore new file mode 100644 index 00000000000..b5211414214 --- /dev/null +++ b/ACE/examples/Logger/Acceptor-server/.gitignore @@ -0,0 +1 @@ +/server_loggerd diff --git a/ACE/examples/Logger/client/.gitignore b/ACE/examples/Logger/client/.gitignore new file mode 100644 index 00000000000..6f9eb8585e2 --- /dev/null +++ b/ACE/examples/Logger/client/.gitignore @@ -0,0 +1 @@ +/logging_app diff --git a/ACE/examples/Logger/simple-server/.gitignore b/ACE/examples/Logger/simple-server/.gitignore new file mode 100644 index 00000000000..b5211414214 --- /dev/null +++ b/ACE/examples/Logger/simple-server/.gitignore @@ -0,0 +1 @@ +/server_loggerd diff --git a/ACE/examples/Mem_Map/IO-tests/.gitignore b/ACE/examples/Mem_Map/IO-tests/.gitignore new file mode 100644 index 00000000000..d14a1483665 --- /dev/null +++ b/ACE/examples/Mem_Map/IO-tests/.gitignore @@ -0,0 +1 @@ +/test_io diff --git a/ACE/examples/Mem_Map/file-reverse/.gitignore b/ACE/examples/Mem_Map/file-reverse/.gitignore new file mode 100644 index 00000000000..4537d71bad0 --- /dev/null +++ b/ACE/examples/Mem_Map/file-reverse/.gitignore @@ -0,0 +1 @@ +/file-reverse diff --git a/ACE/examples/Misc/.gitignore b/ACE/examples/Misc/.gitignore new file mode 100644 index 00000000000..55e8014abe6 --- /dev/null +++ b/ACE/examples/Misc/.gitignore @@ -0,0 +1,9 @@ +/test_XtReactor1 +/test_XtReactor2 +/test_dump +/test_get_opt +/test_profile_timer +/test_read_buffer +/test_set +/test_sstring +/test_trace diff --git a/ACE/examples/Naming/.gitignore b/ACE/examples/Naming/.gitignore new file mode 100644 index 00000000000..0ba69c7c118 --- /dev/null +++ b/ACE/examples/Naming/.gitignore @@ -0,0 +1,4 @@ +/multiple_contexts +/non_existent +/open +/writers diff --git a/ACE/examples/OS/Process/.gitignore b/ACE/examples/OS/Process/.gitignore new file mode 100644 index 00000000000..023c5cf00b6 --- /dev/null +++ b/ACE/examples/OS/Process/.gitignore @@ -0,0 +1,2 @@ +/imore +/process diff --git a/ACE/examples/Reactor/Dgram/.gitignore b/ACE/examples/Reactor/Dgram/.gitignore new file mode 100644 index 00000000000..f9e8a652625 --- /dev/null +++ b/ACE/examples/Reactor/Dgram/.gitignore @@ -0,0 +1,2 @@ +/codgram +/dgram diff --git a/ACE/examples/Reactor/FIFO/.gitignore b/ACE/examples/Reactor/FIFO/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/examples/Reactor/FIFO/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/examples/Reactor/Misc/.gitignore b/ACE/examples/Reactor/Misc/.gitignore new file mode 100644 index 00000000000..6bc218ddd18 --- /dev/null +++ b/ACE/examples/Reactor/Misc/.gitignore @@ -0,0 +1,8 @@ +/demuxing +/early_timeouts +/notification +/pingpong +/reactors +/signals_1 +/signals_2 +/timer_queue diff --git a/ACE/examples/Reactor/Multicast/.gitignore b/ACE/examples/Reactor/Multicast/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/examples/Reactor/Multicast/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/examples/Reactor/Ntalker/.gitignore b/ACE/examples/Reactor/Ntalker/.gitignore new file mode 100644 index 00000000000..fadab13047e --- /dev/null +++ b/ACE/examples/Reactor/Ntalker/.gitignore @@ -0,0 +1 @@ +/ntalker diff --git a/ACE/examples/Reactor/Proactor/.gitignore b/ACE/examples/Reactor/Proactor/.gitignore new file mode 100644 index 00000000000..4197d14cf21 --- /dev/null +++ b/ACE/examples/Reactor/Proactor/.gitignore @@ -0,0 +1,7 @@ +/test_cancel +/test_end_event_loop +/test_multiple_loops +/test_post_completions +/test_proactor +/test_timeout +/test_udp_proactor diff --git a/ACE/examples/Service_Configurator/IPC-tests/client/.gitignore b/ACE/examples/Service_Configurator/IPC-tests/client/.gitignore new file mode 100644 index 00000000000..9bf3950044b --- /dev/null +++ b/ACE/examples/Service_Configurator/IPC-tests/client/.gitignore @@ -0,0 +1,10 @@ +/local_dgram_test +/local_fifo_test +/local_pipe_test +/local_spipe_test +/local_stream_test +/remote_broadcast_test +/remote_dgram_test +/remote_service_directory_test +/remote_stream_test +/remote_thr_stream_test diff --git a/ACE/examples/Service_Configurator/IPC-tests/server/.gitignore b/ACE/examples/Service_Configurator/IPC-tests/server/.gitignore new file mode 100644 index 00000000000..e509c06d45b --- /dev/null +++ b/ACE/examples/Service_Configurator/IPC-tests/server/.gitignore @@ -0,0 +1 @@ +/server_test diff --git a/ACE/examples/Service_Configurator/Misc/.gitignore b/ACE/examples/Service_Configurator/Misc/.gitignore new file mode 100644 index 00000000000..95811e0016a --- /dev/null +++ b/ACE/examples/Service_Configurator/Misc/.gitignore @@ -0,0 +1 @@ +/main diff --git a/ACE/examples/Shared_Malloc/.gitignore b/ACE/examples/Shared_Malloc/.gitignore new file mode 100644 index 00000000000..e4c4ead7539 --- /dev/null +++ b/ACE/examples/Shared_Malloc/.gitignore @@ -0,0 +1,4 @@ +/malloc +/multiple +/persistence +/posind diff --git a/ACE/examples/Shared_Memory/.gitignore b/ACE/examples/Shared_Memory/.gitignore new file mode 100644 index 00000000000..174a8bd2829 --- /dev/null +++ b/ACE/examples/Shared_Memory/.gitignore @@ -0,0 +1,2 @@ +/testmm +/testsv diff --git a/ACE/examples/Smart_Pointers/.gitignore b/ACE/examples/Smart_Pointers/.gitignore new file mode 100644 index 00000000000..bab072fe704 --- /dev/null +++ b/ACE/examples/Smart_Pointers/.gitignore @@ -0,0 +1,2 @@ +/Widget +/gadget diff --git a/ACE/examples/Synch/.gitignore b/ACE/examples/Synch/.gitignore new file mode 100644 index 00000000000..0025a50fe03 --- /dev/null +++ b/ACE/examples/Synch/.gitignore @@ -0,0 +1 @@ +/proc_sema diff --git a/ACE/examples/System_V_IPC/SV_Message_Queues/.gitignore b/ACE/examples/System_V_IPC/SV_Message_Queues/.gitignore new file mode 100644 index 00000000000..bffc3f5319f --- /dev/null +++ b/ACE/examples/System_V_IPC/SV_Message_Queues/.gitignore @@ -0,0 +1,4 @@ +/mqclient +/mqserver +/tmqclient +/tmqserver diff --git a/ACE/examples/System_V_IPC/SV_Semaphores/.gitignore b/ACE/examples/System_V_IPC/SV_Semaphores/.gitignore new file mode 100644 index 00000000000..b0a7f71865f --- /dev/null +++ b/ACE/examples/System_V_IPC/SV_Semaphores/.gitignore @@ -0,0 +1,2 @@ +/sem1 +/sem2 diff --git a/ACE/examples/Threads/.gitignore b/ACE/examples/Threads/.gitignore new file mode 100644 index 00000000000..158c437e80e --- /dev/null +++ b/ACE/examples/Threads/.gitignore @@ -0,0 +1,22 @@ +/auto_event +/barrier1 +/barrier2 +/cancel +/future1 +/future2 +/manual_event +/process_mutex +/process_semaphore +/reader_writer +/recursive_mutex +/task_five +/task_four +/task_one +/task_three +/task_two +/thread_manager +/thread_pool +/thread_specific +/token +/tss1 +/tss2 diff --git a/ACE/examples/Timer_Queue/.gitignore b/ACE/examples/Timer_Queue/.gitignore new file mode 100644 index 00000000000..989af357134 --- /dev/null +++ b/ACE/examples/Timer_Queue/.gitignore @@ -0,0 +1,4 @@ +/Asynch_Timer_Queue_Test +/Reactor_Timer_Queue_Test +/Thread_Custom_Handlers_Timer_Queue_Test +/Thread_Timer_Queue_Test diff --git a/ACE/examples/Web_Crawler/.gitignore b/ACE/examples/Web_Crawler/.gitignore new file mode 100644 index 00000000000..95811e0016a --- /dev/null +++ b/ACE/examples/Web_Crawler/.gitignore @@ -0,0 +1 @@ +/main diff --git a/ACE/include/makeinclude/rules.lib.GNU b/ACE/include/makeinclude/rules.lib.GNU index e40c81b887f..ff3ca562280 100644 --- a/ACE/include/makeinclude/rules.lib.GNU +++ b/ACE/include/makeinclude/rules.lib.GNU @@ -198,7 +198,7 @@ $(VLIB): $(VLOBJS) ifdef ibmcxx_build # This is required to get AIX IBM C/C++ to instantiate and compile the needed # templates. - if test -s ./$(TEMPINCDIR)/*.C; \ + if test -s ./$(TEMPINCDIR)/*.C; \ then \ $(LINK.cc) $(LINK_OUTPUT_FLAG) dummy $(LDFLAGS) $(ACE_ROOT)/etc/xlc_dummy.cpp $^ $(ACE_SHLIBS) $(LIBS); \ $(RM) dummy; \ diff --git a/ACE/protocols/ace/INet/.gitignore b/ACE/protocols/ace/INet/.gitignore new file mode 100644 index 00000000000..e0bc4eff858 --- /dev/null +++ b/ACE/protocols/ace/INet/.gitignore @@ -0,0 +1,2 @@ +/ftp_simple_wget +/http_simple_wget diff --git a/ACE/protocols/examples/RMCast/Send_Msg/.gitignore b/ACE/protocols/examples/RMCast/Send_Msg/.gitignore new file mode 100644 index 00000000000..969d6fe3941 --- /dev/null +++ b/ACE/protocols/examples/RMCast/Send_Msg/.gitignore @@ -0,0 +1,2 @@ +/receiver +/sender diff --git a/ACE/protocols/examples/TMCast/Member/.gitignore b/ACE/protocols/examples/TMCast/Member/.gitignore new file mode 100644 index 00000000000..c54316dadd2 --- /dev/null +++ b/ACE/protocols/examples/TMCast/Member/.gitignore @@ -0,0 +1 @@ +/member diff --git a/ACE/protocols/tests/HTBP/Reactor_Tests/.gitignore b/ACE/protocols/tests/HTBP/Reactor_Tests/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/protocols/tests/HTBP/Reactor_Tests/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/protocols/tests/HTBP/Send_Large_Msg/.gitignore b/ACE/protocols/tests/HTBP/Send_Large_Msg/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/protocols/tests/HTBP/Send_Large_Msg/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore b/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore new file mode 100644 index 00000000000..b6aca8272f5 --- /dev/null +++ b/ACE/protocols/tests/HTBP/Send_Recv_Tests/.gitignore @@ -0,0 +1 @@ +/SendRecv_Test diff --git a/ACE/protocols/tests/HTBP/ping/.gitignore b/ACE/protocols/tests/HTBP/ping/.gitignore new file mode 100644 index 00000000000..3d33a15f751 --- /dev/null +++ b/ACE/protocols/tests/HTBP/ping/.gitignore @@ -0,0 +1,2 @@ +/client +/server diff --git a/ACE/protocols/tests/RMCast/.gitignore b/ACE/protocols/tests/RMCast/.gitignore new file mode 100644 index 00000000000..969d6fe3941 --- /dev/null +++ b/ACE/protocols/tests/RMCast/.gitignore @@ -0,0 +1,2 @@ +/receiver +/sender diff --git a/ACE/tests/.gitignore b/ACE/tests/.gitignore new file mode 100644 index 00000000000..f21f84dc116 --- /dev/null +++ b/ACE/tests/.gitignore @@ -0,0 +1,179 @@ +/ACE_Init_Test +/ACE_Test +/ARGV_Test +/Aio_Platform_Test +/Arg_Shifter_Test +/Array_Map_Test +/Atomic_Op_Test +/Auto_Event_Test +/Auto_IncDec_Test +/Barrier_Test +/Based_Pointer_Test +/Basic_Types_Test +/Bound_Ptr_Test +/Buffer_Stream_Test +/Bug_1576_Regression_Test +/Bug_1890_Regression_Test +/Bug_2368_Regression_Test +/Bug_2497_Regression_Test +/Bug_2540_Regression_Test +/Bug_2653_Regression_Test +/Bug_2659_Regression_Test +/Bug_2815_Regression_Test +/Bug_2820_Regression_Test +/CDR_Array_Test +/CDR_File_Test +/CDR_Test +/Cache_Map_Manager_Test +/Cached_Accept_Conn_Test +/Cached_Allocator_Test +/Cached_Conn_Test +/Capabilities_Test +/Codecs_Test +/Collection_Test +/Config_Test +/Conn_Test +/DLL_Test +/DLList_Test +/Date_Time_Test +/Dev_Poll_Reactor_Test +/Dev_Poll_Reactor_Echo_Test +/Dirent_Test +/Dynamic_Priority_Test +/Enum_Interfaces_Test +/Env_Value_Test +/FIFO_Test +/FlReactor_Test +/Framework_Component_Test +/Future_Set_Test +/Future_Test +/Get_Opt_Test +/Handle_Set_Test +/Hash_Map_Bucket_Iterator_Test +/Hash_Map_Manager_Test +/Hash_Multi_Map_Manager_Test +/High_Res_Timer_Test +/INET_Addr_Test +/INET_Addr_Test_IPV6 +/IOStream_Test +/Integer_Truncate_Test +/Lazy_Map_Manager_Test +/Log_Msg_Test +/Logging_Strategy_Test +/MEM_Stream_Test +/MM_Shared_Memory_Test +/MT_Reactor_Timer_Test +/MT_Reactor_Upcall_Test +/MT_Reference_Counted_Event_Handler_Test +/MT_Reference_Counted_Notify_Test +/MT_SOCK_Test +/Malloc_Test +/Manual_Event_Test +/Map_Manager_Test +/Map_Test +/Max_Default_Port_Test +/Max_Default_Port_Test_IPV6 +/Mem_Map_Test +/Memcpy_Test +/Message_Block_Test +/Message_Queue_Notifications_Test +/Message_Queue_Test +/Message_Queue_Test_Ex +/Multicast_Test +/Multicast_Test_IPV6 +/Multihomed_INET_Addr_Test +/Multihomed_INET_Addr_Test_IPV6 +/Naming_Test +/Network_Adapters_Test +/New_Fail_Test +/NonBlocking_Conn_Test +/Notification_Queue_Unit_Test +/Notify_Performance_Test +/OS_Test +/Object_Manager_Test +/Obstack_Test +/OrdMultiSet_Test +/Pipe_Test +/Priority_Buffer_Test +/Priority_Reactor_Test +/Priority_Task_Test +/Proactor_Scatter_Gather_Test +/Proactor_Test +/Proactor_Test_IPV6 +/Proactor_Timer_Test +/Process_Manager_Test +/Process_Manual_Event_Test +/Process_Mutex_Test +/Process_Semaphore_Test +/Process_Strategy_Test +/QtReactor_Test +/QtReactor_Test_moc.cpp +/RB_Tree_Test +/Reactor_Dispatch_Order_Test +/Reactor_Exceptions_Test +/Reactor_Fairness_Test +/Reactor_Notification_Queue_Test +/Reactor_Notify_Test +/Reactor_Performance_Test +/Reactor_Registration_Test +/Reactor_Timer_Test +/Reactors_Test +/Reader_Writer_Test +/Recursive_Condition_Bug_Test +/Recursive_Condition_Test +/Recursive_Mutex_Test +/Refcounted_Auto_Ptr_Test +/Reference_Counted_Event_Handler_Test +/Reverse_Lock_Test +/SOCK_Connector_Test +/SOCK_Dgram_Bcast_Test +/SOCK_Dgram_Test +/SOCK_Netlink_Test +/SOCK_SEQPACK_SCTP_Test +/SOCK_Send_Recv_Test +/SOCK_Send_Recv_Test_IPV6 +/SOCK_Test +/SOCK_Test_IPv6 +/SPIPE_Test +/SString_Test +/SV_Shared_Memory_Test +/Semaphore_Test +/Sendfile_Test +/Service_Config_Test +/Signal_Test +/Sigset_Ops_Test +/Simple_Message_Block_Test +/Svc_Handler_Test +/TP_Reactor_Test +/TSS_Static_Test +/TSS_Test +/Task_Ex_Test +/Task_Test +/Thread_Creation_Threshold_Test +/Thread_Manager_Test +/Thread_Mutex_Test +/Thread_Pool_Reactor_Resume_Test +/Thread_Pool_Reactor_Test +/Thread_Pool_Test +/Time_Service_Test +/Time_Value_Test +/Timeprobe_Test +/Timer_Cancellation_Test +/Timer_Queue_Reference_Counting_Test +/Timer_Queue_Test +/TkReactor_Test +/Token_Strategy_Test +/Tokens_Test +/UPIPE_SAP_Test +/UUIDTest +/Unbounded_Set_Test +/Unbounded_Set_Test_Ex +/UnloadLibACE +/Upgradable_RW_Test +/Vector_Test +/WFMO_Reactor_Test +/XtAthenaReactor_Test +/XtMotifReactor_Test +/XtReactor_Test +/test.reg +/testConfig.ini diff --git a/ACE/tests/Dev_Poll_Reactor_Echo_Test.cpp b/ACE/tests/Dev_Poll_Reactor_Echo_Test.cpp new file mode 100644 index 00000000000..3bc7bd09d13 --- /dev/null +++ b/ACE/tests/Dev_Poll_Reactor_Echo_Test.cpp @@ -0,0 +1,574 @@ +//============================================================================= +/** + * @file Dev_Poll_Reactor_Echo_Test.cpp + * + * This test implements a simple echo server using the + * Dev_Poll_Reactor. This forces the reactor to behave like a + * reactor would in a typical client/server application, i.e., + * receive a message then send a messages. + * @author Justin Wilson <wilsonj@ociweb.com> + */ +//============================================================================= + +#include "test_config.h" + +#if defined (ACE_HAS_DEV_POLL) || defined (ACE_HAS_EVENT_POLL) + +#include "ace/OS_NS_signal.h" +#include "ace/Reactor.h" +#include "ace/Dev_Poll_Reactor.h" + +#include "ace/Acceptor.h" +#include "ace/Connector.h" + +#include "ace/SOCK_Acceptor.h" +#include "ace/SOCK_Connector.h" +#include "ace/SOCK_Stream.h" + +#include "ace/OS_NS_unistd.h" +#include "ace/OS_NS_netdb.h" + +#include <queue> + +typedef ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> SVC_HANDLER; + +// ---------------------------------------------------- + +class Client : public SVC_HANDLER +{ +public: + + Client (void); + + //FUZZ: disable check_for_lack_ACE_OS + virtual int open (void * = 0); + //FUZZ: enable check_for_lack_ACE_OS + + virtual int handle_output (ACE_HANDLE handle); + + virtual int handle_input (ACE_HANDLE handle); + + virtual int handle_timeout (const ACE_Time_Value ¤t_time, + const void *act); + + virtual int handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask mask); + + std::string sent; + std::string received; + +private: + unsigned int call_count_; +}; + + +class Server : public SVC_HANDLER +{ +public: + + Server (void); + + virtual int handle_input (ACE_HANDLE handle); + + virtual int handle_output (ACE_HANDLE handle); + + virtual int handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask mask); + +private: + int send_i (const char* buffer, + size_t size); + + std::queue<std::string*> buffer_list_; + size_t offset_; +}; + +// ---------------------------------------------------- + +Client::Client (void) + : call_count_ (0) +{ +} + +int +Client::open (void *) +{ + // Trigger writes on a timer. + ACE_Time_Value delay (1, 0); + ACE_Time_Value restart (1, 0); + if (this->reactor ()->schedule_timer (this, + 0, + delay, + restart) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to schedule client side ") + ACE_TEXT ("timer in ACE_Dev_Poll_Reactor")), + -1); + } + + if (this->reactor ()->register_handler (this, ACE_Event_Handler::READ_MASK) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to register for reading ") + ACE_TEXT ("in ACE_Dev_Poll_Reactor")), + -1); + } + + return 0; +} + +int +Client::handle_output (ACE_HANDLE handle) +{ + std::string buffer = "Hello, world!"; + ssize_t bytes_sent = this->peer ().send (buffer.data (), buffer.size ()); + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Client::handle_output; handle = %d") + ACE_TEXT (" bytes sent %d\n"), + handle, + bytes_sent)); + + if (bytes_sent == -1) + { + if (errno == EWOULDBLOCK) + return 0; // Flow control kicked in. + else if (errno == EPIPE || errno == ECONNRESET) + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Client::handle_output; server ") + ACE_TEXT ("closed handle %d\n"), + this->peer ().get_handle ())); + return -1; + } + else + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Client::handle_output")), + -1); + } + else if (bytes_sent == 0) + return -1; + else + this->sent.append (buffer.substr (0, bytes_sent)); + + return -1; +} + +int +Client::handle_input (ACE_HANDLE handle) +{ + for (;;) + { + char buffer[BUFSIZ]; + ssize_t bytes_read = this->peer ().recv (buffer, BUFSIZ); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Client::handle_input handle = %d bytes_read = %d\n"), + handle, bytes_read)); + + if (bytes_read < 0 && errno == EWOULDBLOCK) + { + return 0; + } + else if (bytes_read == 0) + { + // Closed. + return -1; + } + else + { + this->received.append (buffer, bytes_read); + } + } +} + +int +Client::handle_timeout (const ACE_Time_Value &, const void *) +{ + ACE_DEBUG ((LM_INFO, + ACE_TEXT ("(%t) Expected client timeout occured at: %T\n"))); + + if (this->call_count_ != 10) + { + // Register for write. + if (this->reactor ()->register_handler (this, ACE_Event_Handler::WRITE_MASK) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to register for writing ") + ACE_TEXT ("in ACE_Dev_Poll_Reactor")), + -1); + } + this->call_count_++; + return 0; + } + else + { + // Shutdown. + if (this->reactor ()->end_reactor_event_loop () == 0) + ACE_DEBUG ((LM_INFO, + ACE_TEXT ("(%t) Successful client reactor shutdown.\n"))); + else + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Failed client reactor shutdown"))); + + // Force this service handler to be closed in either case. + return -1; + } +} + +int +Client::handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask mask) +{ + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Client::handle_close handle = %d mask = %xd\n"), handle, mask)); + return 0; + //return SVC_HANDLER::handle_close (handle, mask); +} + +// ---------------------------------------------------- + +Server::Server (void) + : offset_ (0) +{ +} + +int +Server::handle_input (ACE_HANDLE handle) +{ + for (;;) + { + char buffer[BUFSIZ]; + ssize_t bytes_read = this->peer ().recv (buffer, BUFSIZ); + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Server::handle_input handle = %d bytes_read = %d\n"), + handle, bytes_read)); + + if (bytes_read == -1 && errno == EWOULDBLOCK) + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Server::handle_input handle = %d EWOULDBLOCK\n"), + handle)); + return 0; + } + else if (bytes_read == 0) + { + // Closed. + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Server::handle_input handle = %d CLOSED\n"), + handle)); + return -1; + } + else + { + if (send_i (buffer, bytes_read) == -1) + return -1; + } + } +} + +int +Server::send_i (const char* buffer, + size_t size) +{ + if (size == 0) + { + return 0; + } + + if (buffer_list_.empty ()) + { + // Register for write. + if (this->reactor ()->register_handler (this, ACE_Event_Handler::WRITE_MASK) == -1) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to register for writing ") + ACE_TEXT ("in ACE_Dev_Poll_Reactor")), + -1); + } + } + + buffer_list_.push (new std::string (buffer, size)); + return 0; +} + +int +Server::handle_output (ACE_HANDLE handle) +{ + while (!buffer_list_.empty ()) + { + size_t bytes_to_send = buffer_list_.front ()->size () - offset_; + ssize_t bytes_sent = this->peer ().send (buffer_list_.front ()->data () + offset_, bytes_to_send); + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Server::handle_output; handle = %d") + ACE_TEXT (" bytes sent %d\n"), + handle, bytes_sent)); + + if (bytes_sent == -1) + { + if (errno == EWOULDBLOCK) + return 0; + else if (errno == EPIPE || errno == ECONNRESET) + { + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Client::handle_output; server ") + ACE_TEXT ("closed handle %d\n"), + this->peer ().get_handle ())); + return -1; + } + else + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Client::handle_output")), + -1); + } + else if (bytes_sent == 0) + return -1; + else + { + if (bytes_sent == static_cast<ssize_t> (bytes_to_send)) + { + delete buffer_list_.front (); + buffer_list_.pop (); + offset_ = 0; + } + else + { + offset_ += bytes_sent; + } + } + } + + return -1; +} + +int +Server::handle_close (ACE_HANDLE handle, + ACE_Reactor_Mask mask) +{ + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Server::handle_close handle = %d mask = %xd\n"), handle, mask)); + return 0; + //return SVC_HANDLER::handle_close (handle, mask); +} + +// ---------------------------------------------------- + +typedef ACE_Acceptor<Server, ACE_SOCK_ACCEPTOR> ACCEPTOR; +typedef ACE_Connector<Client, ACE_SOCK_CONNECTOR> CONNECTOR; + +// ---------------------------------------------------- + +class TestAcceptor : public ACCEPTOR +{ +public: + + virtual int accept_svc_handler (Server * handler) + { + int result = this->ACCEPTOR::accept_svc_handler (handler); + + if (result != 0) + { + if (errno != EWOULDBLOCK) + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to accept connection"))); + + return result; + } + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Accepted connection. ") + ACE_TEXT ("Stream handle: <%d>\n"), + handler->get_handle ())); + + return result; + } + +}; + +// ---------------------------------------------------- + +class TestConnector : public CONNECTOR +{ +public: + + virtual int connect_svc_handler ( + CONNECTOR::handler_type *& handler, + const CONNECTOR::addr_type &remote_addr, + ACE_Time_Value *timeout, + const CONNECTOR::addr_type &local_addr, + int reuse_addr, + int flags, + int perms) + { + const int result = this->CONNECTOR::connect_svc_handler (handler, + remote_addr, + timeout, + local_addr, + reuse_addr, + flags, + perms); + + if (result != 0) + return result; + + ACE_TCHAR hostname[MAXHOSTNAMELEN]; + if (remote_addr.get_host_name (hostname, + sizeof (hostname)) != 0) + { + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to retrieve hostname")), + -1); + } + + ACE_DEBUG ((LM_DEBUG, + ACE_TEXT ("(%t) Connected to <%s:%d>.\n"), + hostname, + (int) remote_addr.get_port_number ())); + + return result; + } + + virtual int connect_svc_handler ( + CONNECTOR::handler_type *& handler, + CONNECTOR::handler_type *& sh_copy, + const CONNECTOR::addr_type &remote_addr, + ACE_Time_Value *timeout, + const CONNECTOR::addr_type &local_addr, + int reuse_addr, + int flags, + int perms) { + sh_copy = handler; + return this->connect_svc_handler (handler, remote_addr, timeout, + local_addr, reuse_addr, flags, + perms); + } +}; + +// ---------------------------------------------------- + +static int +disable_signal (int sigmin, int sigmax) +{ +#if !defined (ACE_LACKS_UNIX_SIGNALS) + sigset_t signal_set; + if (ACE_OS::sigemptyset (&signal_set) == - 1) + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Error: (%P|%t):%p\n"), + ACE_TEXT ("sigemptyset failed"))); + + for (int i = sigmin; i <= sigmax; i++) + ACE_OS::sigaddset (&signal_set, i); + + // Put the <signal_set>. +# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK) + // In multi-threaded application this is not POSIX compliant + // but let's leave it just in case. + if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0) +# else + if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0) +# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */ + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("Error: (%P|%t): %p\n"), + ACE_TEXT ("SIG_BLOCK failed")), + -1); +#else + ACE_UNUSED_ARG (sigmin); + ACE_UNUSED_ARG (sigmax); +#endif /* ACE_LACKS_UNIX_SIGNALS */ + + return 0; +} + +// ---------------------------------------------------- + +int +run_main (int, ACE_TCHAR *[]) +{ + ACE_START_TEST (ACE_TEXT ("Dev_Poll_Reactor_Echo_Test")); + + // Make sure we ignore SIGPIPE + disable_signal (SIGPIPE, SIGPIPE); + + ACE_Dev_Poll_Reactor dp_reactor; + dp_reactor.restart (1); // Restart on EINTR + ACE_Reactor reactor (&dp_reactor); + + TestConnector client; + + int flags = 0; + ACE_SET_BITS (flags, ACE_NONBLOCK); // Enable non-blocking in the + // Svc_Handlers. + + if (client.open (&reactor, flags) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to open client service handler")), + -1); + + unsigned short port = 54678; + + ACE_INET_Addr addr; + + if (addr.set (port, INADDR_LOOPBACK) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("server_worker - ACE_INET_Addr::set")), + -1); + + TestAcceptor server; + + if (server.open (addr, &reactor, flags) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to open server service handler")), + -1); + + Client *client_handler = 0; + + if (client.connect (client_handler, addr) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Unable to connect to server")), + -1); + + if (reactor.run_reactor_event_loop () != 0) + ACE_ERROR_RETURN ((LM_ERROR, + ACE_TEXT ("(%t) %p\n"), + ACE_TEXT ("Error when running client ") + ACE_TEXT ("reactor event loop")), + -1); + + ACE_DEBUG((LM_DEBUG, "sent: %C\n", client_handler->sent.c_str ())); + ACE_DEBUG((LM_DEBUG, "received: %C\n", client_handler->received.c_str ())); + + ACE_TEST_ASSERT (client_handler->sent == client_handler->received); + + ACE_END_TEST; + + return 0; +} + +#else + +int +run_main (int, ACE_TCHAR *[]) +{ + ACE_START_TEST (ACE_TEXT ("Dev_Poll_Reactor_Echo_Test")); + ACE_ERROR ((LM_INFO, + ACE_TEXT ("Dev Poll and Event Poll are not supported ") + ACE_TEXT ("on this platform\n"))); + ACE_END_TEST; + return 0; +} + +#endif /* ACE_HAS_DEV_POLL || ACE_HAS_EVENT_POLL */ diff --git a/ACE/tests/INET_Addr_Test.cpp b/ACE/tests/INET_Addr_Test.cpp index 9e2cfc7a4a9..4743b2894f3 100644 --- a/ACE/tests/INET_Addr_Test.cpp +++ b/ACE/tests/INET_Addr_Test.cpp @@ -20,7 +20,7 @@ // Make sure that ACE_Addr::addr_type_ is the same // as the family of the inet_addr_. -static int check_type_consistency (const ACE_INET_Addr &addr) +int check_type_consistency (const ACE_INET_Addr &addr) { int family = -1; @@ -49,52 +49,6 @@ static int check_type_consistency (const ACE_INET_Addr &addr) return 0; } -static bool test_multiple (void) -{ - - bool success = true; - - // Check the behavior when there are multiple addresses assigned to a name. - // The NTP pool should always return multiples, though always different. - ACE_INET_Addr ntp; - if (ntp.set (123, ACE_TEXT ("pool.ntp.org")) == -1) - { - ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("pool.ntp.org"))); - return false; - } - size_t count = 0; - ACE_TCHAR addr_string[256]; - do - { - ++count; // If lookup succeeded, there's at least one - ntp.addr_to_string (addr_string, sizeof (addr_string)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("IPv4 %B: %s\n"), count, addr_string)); - } - while (ntp.next ()); - success = count > 1; - -#if defined (ACE_HAS_IPV6) - ACE_INET_Addr ntp6; - if (ntp6.set (123, ACE_TEXT ("2.pool.ntp.org"), 1, AF_INET6) == -1) - { - ACE_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("2.pool.ntp.org"))); - return false; - } - count = 0; - do - { - ++count; // If lookup succeeded, there's at least one - ntp6.addr_to_string (addr_string, sizeof (addr_string)); - ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("IPv6 %B: %s\n"), count, addr_string)); - } - while (ntp6.next ()); - if (count <= 1) - success = false; -#endif /* ACE_HAS_IPV6 */ - - return success; -} - struct Address { const char* name; bool loopback; @@ -319,9 +273,6 @@ int run_main (int, ACE_TCHAR *[]) status = 1; } - if (!test_multiple ()) - status = 1; - ACE_END_TEST; return status; diff --git a/ACE/tests/SSL/.gitignore b/ACE/tests/SSL/.gitignore new file mode 100644 index 00000000000..05511861d36 --- /dev/null +++ b/ACE/tests/SSL/.gitignore @@ -0,0 +1,2 @@ +/SSL_Asynch_Stream_Test +/Thread_Pool_Reactor_SSL_Test diff --git a/ACE/tests/run_test.lst b/ACE/tests/run_test.lst index 8e4bb4a230d..c009eb8c511 100644 --- a/ACE/tests/run_test.lst +++ b/ACE/tests/run_test.lst @@ -114,6 +114,7 @@ DLL_Test: !STATIC Linux DLList_Test: !ACE_FOR_TAO Date_Time_Test: !ACE_FOR_TAO Dev_Poll_Reactor_Test: !nsk !ST +Dev_Poll_Reactor_Echo_Test: !nsk !ST Dirent_Test: !VxWorks_RTP !LabVIEW_RT Dynamic_Priority_Test Dynamic_Test diff --git a/ACE/tests/tests.mpc b/ACE/tests/tests.mpc index adb95592aa6..0250deeb75d 100644 --- a/ACE/tests/tests.mpc +++ b/ACE/tests/tests.mpc @@ -853,6 +853,13 @@ project(Dev Poll Reactor Test) : acetest { } } +project(Dev Poll Reactor Echo Test) : acetest { + exename = Dev_Poll_Reactor_Echo_Test + Source_Files { + Dev_Poll_Reactor_Echo_Test.cpp + } +} + project(Dirent Test) : acetest { exename = Dirent_Test |