diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2003-07-14 18:15:12 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2003-07-14 18:15:12 +0000 |
commit | 8431fa9d9b360a569f8c393c1ae417fc27941456 (patch) | |
tree | 9eb47d30fe92d7a4e7de8815e74502cd275fa9c5 | |
parent | 049754379da3f1146731dfb5e9c8367cacbb61e2 (diff) | |
download | ATCD-8431fa9d9b360a569f8c393c1ae417fc27941456.tar.gz |
ChangeLogTag:Mon Jul 14 11:16:25 2003 Craig Rodrigues <crodrigu@bbn.com>
-rw-r--r-- | COPYING | 187 | ||||
-rw-r--r-- | ChangeLog | 24 | ||||
-rw-r--r-- | TAO/COPYING | 187 | ||||
-rw-r--r-- | THANKS | 4 | ||||
-rw-r--r-- | ace/Future.h | 9 | ||||
-rw-r--r-- | ace/Handle_Set.cpp | 2 | ||||
-rw-r--r-- | ace/Message_Queue_T.cpp | 76 | ||||
-rw-r--r-- | ace/OS_Dirent.inl | 1 | ||||
-rw-r--r-- | ace/POSIX_Proactor.cpp | 11 |
9 files changed, 264 insertions, 237 deletions
@@ -1,96 +1,99 @@ -Copyright and Licensing Information for ACE(TM) and TAO(TM) -[1]ACE(TM) and [2]TAO(TM) are copyrighted by [3]Douglas C. Schmidt and -his [4]research group at [5]Washington University, [6]University of -California, Irvine, and [7]Vanderbilt University Copyright (c) -1993-2003, all rights reserved. Since ACE+TAO are open-source, free -software, you are free to use, modify, copy, and -distribute--perpetually and irrevocably--the ACE+TAO source code and -object code produced from the source, as well as copy and distribute -modified versions of this software. You must, however, include this -copyright statement along with code built using ACE+TAO. - -You can use ACE+TAO in proprietary software and are under no -obligation to redistribute any of your source code that is built using -ACE+TAO. Note, however, that you may not do anything to the ACE+TAO -code, such as copyrighting it yourself or claiming authorship of the -ACE+TAO code, that will prevent ACE+TAO from being distributed freely -using an open-source development model. You needn't inform anyone that -you're using ACE+TAO in your software, though we encourage you to let -[8]us know so we can promote your project in the [9]ACE+TAO success -stories.. - -ACE+TAO are provided as is with no warranties of any kind, including -the warranties of design, merchantability, and fitness for a -particular purpose, noninfringement, or arising from a course of -dealing, usage or trade practice. Moreover, ACE+TAO are provided with -no support and without any obligation on the part of Washington -University, UC Irvine, Vanderbilt University, their employees, or -students to assist in its use, correction, modification, or -enhancement. However, commercial support for ACE is available from -[10]Riverace and commercial support for TAO is available from [11]OCI -and [12]PrismTech. Both ACE and TAO are Y2K-compliant, as long as the -underlying OS platform is Y2K-compliant. - -Washington University, UC Irvine, Vanderbilt University, their -employees, and students shall have no liability with respect to the -infringement of copyrights, trade secrets or any patents by ACE+TAO or -any part thereof. Moreover, in no event will Washington University, UC -Irvine, or Vanderbilt University, their employees, or students be -liable for any lost revenue or profits or other special, indirect and -consequential damages. - -The [13]ACE and [14]TAO web sites are maintained by the [15]Center for -Distributed Object Computing of Washington University for the -development of open-source software as part of the [16]open-source -software community. By submitting comments, suggestions, code, code -snippets, techniques (including that of usage), and algorithms, -submitters acknowledge that they have the right to do so, that any -such submissions are given freely and unreservedly, and that they -waive any claims to copyright or ownership. In addition, submitters -acknowledge that any such submission might become part of the -copyright maintained on the overall body of code, which comprises the -[17]ACE and [18]TAO software. By making a submission, submitter agree -to these terms. Furthermore, submitters acknowledge that the -incorporation or modification of such submissions is entirely at the -discretion of the moderators of the open-source ACE+TAO projects or -their designees. - -The names ACE(TM), TAO(TM), Washington University, UC Irvine, and -Vanderbilt University, may not be used to endorse or promote products -or services derived from this source without express written -permission from Washington University, UC Irvine, or Vanderbilt -University. Further, products or services derived from this source may -not be called ACE(TM) or TAO(TM), nor may the name Washington -University, UC Irvine, or Vanderbilt University appear in their names, -without express written permission from Washington University, UC -Irvine, and Vanderbilt University. - -If you have any suggestions, additions, comments, or questions, please -let [19]me know. - -[20]Douglas C. Schmidt + _________________________________________________________________ + + Copyright and Licensing Information for ACE(TM) and TAO(TM) + + [1]ACE(TM) and [2]TAO(TM) are copyrighted by [3]Douglas C. Schmidt and + his [4]research group at [5]Washington University, [6]University of + California, Irvine, and [7]Vanderbilt University Copyright (c) + 1993-2003, all rights reserved. Since ACE+TAO are open-source, free + software, you are free to use, modify, copy, and + distribute--perpetually and irrevocably--the ACE+TAO source code and + object code produced from the source, as well as copy and distribute + modified versions of this software. You must, however, include this + copyright statement along with code built using ACE+TAO. + + You can use ACE+TAO in proprietary software and are under no + obligation to redistribute any of your source code that is built using + ACE+TAO. Note, however, that you may not do anything to the ACE+TAO + code, such as copyrighting it yourself or claiming authorship of the + ACE+TAO code, that will prevent ACE+TAO from being distributed freely + using an open-source development model. You needn't inform anyone that + you're using ACE+TAO in your software, though we encourage you to let + [8]us know so we can promote your project in the [9]ACE+TAO success + stories.. + + ACE+TAO are provided as is with no warranties of any kind, including + the warranties of design, merchantability, and fitness for a + particular purpose, noninfringement, or arising from a course of + dealing, usage or trade practice. Moreover, ACE+TAO are provided with + no support and without any obligation on the part of Washington + University, UC Irvine, Vanderbilt University, their employees, or + students to assist in its use, correction, modification, or + enhancement. A [10]number of companies provide commercial support for + ACE and TAO, however. Both ACE and TAO are Y2K-compliant, as long as + the underlying OS platform is Y2K-compliant. + + Washington University, UC Irvine, Vanderbilt University, their + employees, and students shall have no liability with respect to the + infringement of copyrights, trade secrets or any patents by ACE+TAO or + any part thereof. Moreover, in no event will Washington University, UC + Irvine, or Vanderbilt University, their employees, or students be + liable for any lost revenue or profits or other special, indirect and + consequential damages. + + The [11]ACE and [12]TAO web sites are maintained by the [13]Center for + Distributed Object Computing of Washington University for the + development of open-source software as part of the [14]open-source + software community. By submitting comments, suggestions, code, code + snippets, techniques (including that of usage), and algorithms, + submitters acknowledge that they have the right to do so, that any + such submissions are given freely and unreservedly, and that they + waive any claims to copyright or ownership. In addition, submitters + acknowledge that any such submission might become part of the + copyright maintained on the overall body of code, which comprises the + [15]ACE and [16]TAO software. By making a submission, submitter agree + to these terms. Furthermore, submitters acknowledge that the + incorporation or modification of such submissions is entirely at the + discretion of the moderators of the open-source ACE+TAO projects or + their designees. + + The names ACE(TM), TAO(TM), Washington University, UC Irvine, and + Vanderbilt University, may not be used to endorse or promote products + or services derived from this source without express written + permission from Washington University, UC Irvine, or Vanderbilt + University. Further, products or services derived from this source may + not be called ACE(TM) or TAO(TM), nor may the name Washington + University, UC Irvine, or Vanderbilt University appear in their names, + without express written permission from Washington University, UC + Irvine, and Vanderbilt University. + + If you have any suggestions, additions, comments, or questions, please + let [17]me know. + + [18]Douglas C. Schmidt + _________________________________________________________________ + + Back to the [19]ACE home page. References -1. http://www.cs.wustl.edu/~schmidt/ACE.html -2. http://www.cs.wustl.edu/~schmidt/TAO.html -3. http://www.cs.wustl.edu/~schmidt/ -4. http://www.cs.wustl.edu/~schmidt/ACE-members.html -5. http://www.wustl.edu/ -6. http://www.uci.edu/ -7. http://www.vanderbilt.edu/ -8. mailto:doc_group@cs.wustl.edu -9. http://www.cs.wustl.edu/~schmidt/ACE-users.html -10. http://www.riverace.com/ -11. http://www.theaceorb.com/ -12. http://www.prismtechnologies.com/ -13. http://www.cs.wustl.edu/~schmidt/ACE.html -14. http://www.cs.wustl.edu/~schmidt/TAO.html -15. http://www.cs.wustl.edu/~schmidt/doc-center.html -16. http://www.opensource.org/ -17. http://www.cs.wustl.edu/~schmidt/ACE-obtain.html -18. http://www.cs.wustl.edu/~schmidt/TAO-obtain.html -19. mailto:schmidt@cs.wustl.edu -20. http://www.cs.wustl.edu/~schmidt/ -21. file://localhost/project/adaptive/.www-docs/ACE.html + 1. http://www.cs.wustl.edu/~schmidt/ACE.html + 2. http://www.cs.wustl.edu/~schmidt/TAO.html + 3. http://www.cs.wustl.edu/~schmidt/ + 4. http://www.cs.wustl.edu/~schmidt/ACE-members.html + 5. http://www.wustl.edu/ + 6. http://www.uci.edu/ + 7. http://www.vanderbilt.edu/ + 8. mailto:doc_group@cs.wustl.edu + 9. http://www.cs.wustl.edu/~schmidt/ACE-users.html + 10. http://www.cs.wustl.edu/~schmidt/commercial-support.html + 11. http://www.cs.wustl.edu/~schmidt/ACE.html + 12. http://www.cs.wustl.edu/~schmidt/TAO.html + 13. http://www.cs.wustl.edu/~schmidt/doc-center.html + 14. http://www.opensource.org/ + 15. http://www.cs.wustl.edu/~schmidt/ACE-obtain.html + 16. http://www.cs.wustl.edu/~schmidt/TAO-obtain.html + 17. mailto:schmidt@cs.wustl.edu + 18. http://www.cs.wustl.edu/~schmidt/ + 19. file://localhost/project/adaptive/.www-docs/ACE.html diff --git a/ChangeLog b/ChangeLog index f94da217fd4..b8a71603e47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Mon Jul 14 11:16:25 2003 Craig Rodrigues <crodrigu@bbn.com> + + * ace/POSIX_Proactor.cpp: FreeBSD defines the sysconf value + for _SC_AIO_LISTIO_MAX to 16, and the sysconf value for + _SC_AIO_MAX to be 1024. The lower value must be assigned to + aiocb_list_max_size_ otherwise aio_suspend() will fail. There + was already already some logic in here to support HPUX that also + works for FreeBSD, so use that. + Sat Jul 12 17:55:14 2003 Irfan Pyarali <irfan@oomworks.com> * tests\Conn_Test.cpp: @@ -760,6 +769,15 @@ Mon Jul 07 18:00:38 2003 Irfan Pyarali <irfan@oomworks.com> new changes by Bala to the TAO connection handlers. New branch is Reactor_RefCount_2. +Mon Jul 7 12:38:01 2003 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/Message_Queue_T.cpp: Updated the implementation of all the + dequeue_*() methods so that the "next_" and "prev_" pointer of + the dequeue'd message block are set to 0. Failure to do this + can cause weird behavior when a dequeue'd message block is + passed to ACE::write_n().... Thanks to Wenlong Tang + <tang_long@hotmail.com> for reporting this. + Mon Jul 7 11:14:02 2003 Jeff Parsons <j.parsons@vanderbilt.edu> * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp (visit_enum): @@ -969,6 +987,12 @@ Sun Jun 29 01:31:52 UTC 2003 Don Hinton <dhinton@dresystems.com> Added include of ace/os_include/sys/os_un.h to fix compile problems on VxWorks. +Sat Jun 28 15:26:11 2003 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu> + + * ace/OS_Dirent.inl (readdir_r): Added defined (__FreeBSD__) + here. Thanks to Karim Fodil-Lemelin <kfl@xiphos.ca> for + submitting a patch. + Fri Jun 27 12:52:12 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl> * ace/Process.h: diff --git a/TAO/COPYING b/TAO/COPYING index ad261f68b8e..7c1f7ba8804 100644 --- a/TAO/COPYING +++ b/TAO/COPYING @@ -1,96 +1,99 @@ -Copyright and Licensing Information for ACE(TM) and TAO(TM) -[1]ACE(TM) and [2]TAO(TM) are copyrighted by [3]Douglas C. Schmidt and -his [4]research group at [5]Washington University, [6]University of -California, Irvine, and [7]Vanderbilt University Copyright (c) -1993-2003, all rights reserved. Since ACE+TAO are open-source, free -software, you are free to use, modify, copy, and -distribute--perpetually and irrevocably--the ACE+TAO source code and -object code produced from the source, as well as copy and distribute -modified versions of this software. You must, however, include this -copyright statement along with code built using ACE+TAO. - -You can use ACE+TAO in proprietary software and are under no -obligation to redistribute any of your source code that is built using -ACE+TAO. Note, however, that you may not do anything to the ACE+TAO -code, such as copyrighting it yourself or claiming authorship of the -ACE+TAO code, that will prevent ACE+TAO from being distributed freely -using an open-source development model. You needn't inform anyone that -you're using ACE+TAO in your software, though we encourage you to let -[8]us know so we can promote your project in the [9]ACE+TAO success -stories.. - -ACE+TAO are provided as is with no warranties of any kind, including -the warranties of design, merchantability, and fitness for a -particular purpose, noninfringement, or arising from a course of -dealing, usage or trade practice. Moreover, ACE+TAO are provided with -no support and without any obligation on the part of Washington -University, UC Irvine, Vanderbilt University, their employees, or -students to assist in its use, correction, modification, or -enhancement. However, commercial support for ACE is available from -[10]Riverace and commercial support for TAO is available from [11]OCI -and [12]PrismTech. Both ACE and TAO are Y2K-compliant, as long as the -underlying OS platform is Y2K-compliant. - -Washington University, UC Irvine, Vanderbilt University, their -employees, and students shall have no liability with respect to the -infringement of copyrights, trade secrets or any patents by ACE+TAO or -any part thereof. Moreover, in no event will Washington University, UC -Irvine, or Vanderbilt University, their employees, or students be -liable for any lost revenue or profits or other special, indirect and -consequential damages. - -The [13]ACE and [14]TAO web sites are maintained by the [15]Center for -Distributed Object Computing of Washington University for the -development of open-source software as part of the [16]open-source -software community. By submitting comments, suggestions, code, code -snippets, techniques (including that of usage), and algorithms, -submitters acknowledge that they have the right to do so, that any -such submissions are given freely and unreservedly, and that they -waive any claims to copyright or ownership. In addition, submitters -acknowledge that any such submission might become part of the -copyright maintained on the overall body of code, which comprises the -[17]ACE and [18]TAO software. By making a submission, submitter agree -to these terms. Furthermore, submitters acknowledge that the -incorporation or modification of such submissions is entirely at the -discretion of the moderators of the open-source ACE+TAO projects or -their designees. - -The names ACE(TM), TAO(TM), Washington University, UC Irvine, and -Vanderbilt University, may not be used to endorse or promote products -or services derived from this source without express written -permission from Washington University, UC Irvine, or Vanderbilt -University. Further, products or services derived from this source may -not be called ACE(TM) or TAO(TM), nor may the name Washington -University, UC Irvine, or Vanderbilt University appear in their names, -without express written permission from Washington University, UC -Irvine, and Vanderbilt University. - -If you have any suggestions, additions, comments, or questions, please -let [19]me know. - -[20]Douglas C. Schmidt + _________________________________________________________________ + + Copyright and Licensing Information for ACE(TM) and TAO(TM) + + [1]ACE(TM) and [2]TAO(TM) are copyrighted by [3]Douglas C. Schmidt and + his [4]research group at [5]Washington University, [6]University of + California, Irvine, and [7]Vanderbilt University Copyright (c) + 1993-2003, all rights reserved. Since ACE+TAO are open-source, free + software, you are free to use, modify, copy, and + distribute--perpetually and irrevocably--the ACE+TAO source code and + object code produced from the source, as well as copy and distribute + modified versions of this software. You must, however, include this + copyright statement along with code built using ACE+TAO. + + You can use ACE+TAO in proprietary software and are under no + obligation to redistribute any of your source code that is built using + ACE+TAO. Note, however, that you may not do anything to the ACE+TAO + code, such as copyrighting it yourself or claiming authorship of the + ACE+TAO code, that will prevent ACE+TAO from being distributed freely + using an open-source development model. You needn't inform anyone that + you're using ACE+TAO in your software, though we encourage you to let + [8]us know so we can promote your project in the [9]ACE+TAO success + stories.. + + ACE+TAO are provided as is with no warranties of any kind, including + the warranties of design, merchantability, and fitness for a + particular purpose, noninfringement, or arising from a course of + dealing, usage or trade practice. Moreover, ACE+TAO are provided with + no support and without any obligation on the part of Washington + University, UC Irvine, Vanderbilt University, their employees, or + students to assist in its use, correction, modification, or + enhancement. A [10]number of companies provide commercial support for + ACE and TAO, however. Both ACE and TAO are Y2K-compliant, as long as + the underlying OS platform is Y2K-compliant. + + Washington University, UC Irvine, Vanderbilt University, their + employees, and students shall have no liability with respect to the + infringement of copyrights, trade secrets or any patents by ACE+TAO or + any part thereof. Moreover, in no event will Washington University, UC + Irvine, or Vanderbilt University, their employees, or students be + liable for any lost revenue or profits or other special, indirect and + consequential damages. + + The [11]ACE and [12]TAO web sites are maintained by the [13]Center for + Distributed Object Computing of Washington University for the + development of open-source software as part of the [14]open-source + software community. By submitting comments, suggestions, code, code + snippets, techniques (including that of usage), and algorithms, + submitters acknowledge that they have the right to do so, that any + such submissions are given freely and unreservedly, and that they + waive any claims to copyright or ownership. In addition, submitters + acknowledge that any such submission might become part of the + copyright maintained on the overall body of code, which comprises the + [15]ACE and [16]TAO software. By making a submission, submitter agree + to these terms. Furthermore, submitters acknowledge that the + incorporation or modification of such submissions is entirely at the + discretion of the moderators of the open-source ACE+TAO projects or + their designees. + + The names ACE(TM), TAO(TM), Washington University, UC Irvine, and + Vanderbilt University, may not be used to endorse or promote products + or services derived from this source without express written + permission from Washington University, UC Irvine, or Vanderbilt + University. Further, products or services derived from this source may + not be called ACE(TM) or TAO(TM), nor may the name Washington + University, UC Irvine, or Vanderbilt University appear in their names, + without express written permission from Washington University, UC + Irvine, and Vanderbilt University. + + If you have any suggestions, additions, comments, or questions, please + let [17]me know. + + [18]Douglas C. Schmidt + _________________________________________________________________ + + Back to the [19]ACE home page. References -1. http://www.cs.wustl.edu/~schmidt/ACE.html -2. http://www.cs.wustl.edu/~schmidt/TAO.html -3. http://www.cs.wustl.edu/~schmidt/ -4. http://www.cs.wustl.edu/~schmidt/ACE-members.html -5. http://www.wustl.edu/ -6. http://www.uci.edu/ -7. http://www.vanderbilt.edu/ -8. mailto:doc_group@cs.wustl.edu -9. http://www.cs.wustl.edu/~schmidt/ACE-users.html -10. http://www.riverace.com/ -11. http://www.theaceorb.com/ -12. http://www.prismtechnologies.com/ -13. http://www.cs.wustl.edu/~schmidt/ACE.html -14. http://www.cs.wustl.edu/~schmidt/TAO.html -15. http://www.cs.wustl.edu/~schmidt/doc-center.html -16. http://www.opensource.org/ -17. http://www.cs.wustl.edu/~schmidt/ACE-obtain.html -18. http://www.cs.wustl.edu/~schmidt/TAO-obtain.html -19. mailto:schmidt@cs.wustl.edu -20. http://www.cs.wustl.edu/~schmidt/ -21. file://localhost/project/adaptive/.www-docs/ACE.html + 1. http://www.cs.wustl.edu/~schmidt/ACE.html + 2. http://www.cs.wustl.edu/~schmidt/TAO.html + 3. http://www.cs.wustl.edu/~schmidt/ + 4. http://www.cs.wustl.edu/~schmidt/ACE-members.html + 5. http://www.wustl.edu/ + 6. http://www.uci.edu/ + 7. http://www.vanderbilt.edu/ + 8. mailto:doc_group@cs.wustl.edu + 9. http://www.cs.wustl.edu/~schmidt/ACE-users.html + 10. http://www.cs.wustl.edu/~schmidt/commercial-support.html + 11. http://www.cs.wustl.edu/~schmidt/ACE.html + 12. http://www.cs.wustl.edu/~schmidt/TAO.html + 13. http://www.cs.wustl.edu/~schmidt/doc-center.html + 14. http://www.opensource.org/ + 15. http://www.cs.wustl.edu/~schmidt/ACE-obtain.html + 16. http://www.cs.wustl.edu/~schmidt/TAO-obtain.html + 17. mailto:schmidt@cs.wustl.edu + 18. http://www.cs.wustl.edu/~schmidt/ + 19. file://localhost/project/adaptive/.www-docs/ACE.html @@ -1730,9 +1730,13 @@ Raymond Hoofman <raymond@charm.nl> Jason Smith <jason@atdesk.com> Danta Cannarozzi <djc2@cse.wustl.edu> Valery Salamakha <ccapstan@bigpond.net.au> +Karim Fodil-Lemelin <kfl@xiphos.ca> +Wenlong Tang <tang_long@hotmail.com> Marek Brudka <M.Brudka@elka.pw.edu.pl> +Manish Jain <majain@hss.hns.com> Robin Farine <robin.farine@acn-group.ch> Roland Schimmack <SC@ProCom.de> +Roy Pollock <rpollock@ghs.com> I would particularly like to thank Paul Stephenson, who worked with me at Ericsson in the early 1990's. Paul devised the recursive Makefile diff --git a/ace/Future.h b/ace/Future.h index e91a659d115..c91fca7a8ca 100644 --- a/ace/Future.h +++ b/ace/Future.h @@ -36,7 +36,7 @@ template <class T> class ACE_Future; /** * @class ACE_Future_Holder * - * @brief Implementation of object which has holds ACE_Future. + * @brief Implementation of object that holds an ACE_Future. */ template <class T> class ACE_Future_Holder @@ -60,10 +60,9 @@ protected: * @brief ACE_Future_Observer<T> * * An ACE_Future_Observer object implements an object that is - * subscribed with an ACE_Future object so that it may be - * notified when the value of the ACE_Future object is - * written to by a writer thread. - * It uses the Observer pattern + * subscribed with an ACE_Future object so that it may be notified + * when the value of the ACE_Future object is written to by a writer + * thread. It uses the Observer pattern. */ template <class T> class ACE_Future_Observer diff --git a/ace/Handle_Set.cpp b/ace/Handle_Set.cpp index a6a56370c9a..3a9f92526fd 100644 --- a/ace/Handle_Set.cpp +++ b/ace/Handle_Set.cpp @@ -372,7 +372,7 @@ ACE_Handle_Set_Iterator::operator () (void) while (lsb == 0); // Set index to word boundary. - this->handle_index_ = ACE_MULT_BY_WORDSIZE(this->word_num_); + this->handle_index_ = ACE_MULT_BY_WORDSIZE (this->word_num_); // Put new word_val. this->word_val_ = lsb; diff --git a/ace/Message_Queue_T.cpp b/ace/Message_Queue_T.cpp index 1f0e5f71cfb..9e7cb2cf650 100644 --- a/ace/Message_Queue_T.cpp +++ b/ace/Message_Queue_T.cpp @@ -852,8 +852,7 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_head_i (ACE_Message_Block *&first_item if (this->head_ == 0) this->tail_ = 0; else - // The prev pointer of the first message block has to point to - // NULL... + // The prev pointer of first message block must point to 0... this->head_->prev (0); size_t mb_bytes = 0; @@ -868,6 +867,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_head_i (ACE_Message_Block *&first_item if (this->cur_count_ == 0 && this->head_ == this->tail_) this->head_ = this->tail_ = 0; + // Make sure that the prev and next fields are 0! + first_item->prev (0); + first_item->next (0); + // Only signal enqueueing threads if we've fallen below the low // water mark. if (this->cur_bytes_ <= this->low_water_mark_ @@ -904,29 +907,20 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_prio_i (ACE_Message_Block *&dequeued) // If every message block is the same priority, pass back the first one if (chosen == 0) - { - chosen = this->head_; - } + chosen = this->head_; + // Patch up the queue. If we don't have a previous // then we are at the head of the queue. if (chosen->prev () == 0) - { - this->head_ = chosen->next (); - } + this->head_ = chosen->next (); else - { - chosen->prev ()->next (chosen->next ()); - } + chosen->prev ()->next (chosen->next ()); if (chosen->next () == 0) - { - this->tail_ = chosen->prev (); - } + this->tail_ = chosen->prev (); else - { - chosen->next ()->prev (chosen->prev ()); - } + chosen->next ()->prev (chosen->prev ()); // Pass back the chosen block dequeued = chosen; @@ -943,6 +937,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_prio_i (ACE_Message_Block *&dequeued) if (this->cur_count_ == 0 && this->head_ == this->tail_) this->head_ = this->tail_ = 0; + // Make sure that the prev and next fields are 0! + dequeued->prev (0); + dequeued->next (0); + // Only signal enqueueing threads if we've fallen below the low // water mark. if (this->cur_bytes_ <= this->low_water_mark_ @@ -988,6 +986,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_tail_i (ACE_Message_Block *&dequeued) if (this->cur_count_ == 0 && this->head_ == this->tail_) this->head_ = this->tail_ = 0; + // Make sure that the prev and next fields are 0! + dequeued->prev (0); + dequeued->next (0); + // Only signal enqueueing threads if we've fallen below the low // water mark. if (this->cur_bytes_ <= this->low_water_mark_ @@ -1015,40 +1017,28 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_deadline_i (ACE_Message_Block *&dequeu ACE_Message_Block* chosen = 0; ACE_Time_Value deadline = ACE_Time_Value::max_time; for (ACE_Message_Block *temp = this->head_; temp != 0; temp = temp->next ()) - { - if (temp->msg_deadline_time () < deadline) - { - deadline = temp->msg_deadline_time (); - chosen = temp; - } - } + if (temp->msg_deadline_time () < deadline) + { + deadline = temp->msg_deadline_time (); + chosen = temp; + } // If every message block is the same deadline time, // pass back the first one if (chosen == 0) - { - chosen = this->head_; - } + chosen = this->head_; // Patch up the queue. If we don't have a previous // then we are at the head of the queue. if (chosen->prev () == 0) - { - this->head_ = chosen->next (); - } + this->head_ = chosen->next (); else - { - chosen->prev ()->next (chosen->next ()); - } + chosen->prev ()->next (chosen->next ()); if (chosen->next () == 0) - { - this->tail_ = chosen->prev (); - } + this->tail_ = chosen->prev (); else - { - chosen->next ()->prev (chosen->prev ()); - } + chosen->next ()->prev (chosen->prev ()); // Pass back the chosen block dequeued = chosen; @@ -1065,6 +1055,10 @@ ACE_Message_Queue<ACE_SYNCH_USE>::dequeue_deadline_i (ACE_Message_Block *&dequeu if (this->cur_count_ == 0 && this->head_ == this->tail_) this->head_ = this->tail_ = 0; + // Make sure that the prev and next fields are 0! + dequeued->prev (0); + dequeued->next (0); + // Only signal enqueueing threads if we've fallen below the low // water mark. if (this->cur_bytes_ <= this->low_water_mark_ @@ -1102,8 +1096,8 @@ ACE_Message_Queue<ACE_SYNCH_USE>::peek_dequeue_head (ACE_Message_Block *&first_i } template <ACE_SYNCH_DECL> int -ACE_Message_Queue<ACE_SYNCH_USE>::wait_not_full_cond - (ACE_Guard<ACE_SYNCH_MUTEX_T> &, ACE_Time_Value *timeout) +ACE_Message_Queue<ACE_SYNCH_USE>::wait_not_full_cond (ACE_Guard<ACE_SYNCH_MUTEX_T> &, + ACE_Time_Value *timeout) { int result = 0; diff --git a/ace/OS_Dirent.inl b/ace/OS_Dirent.inl index c1f227fbb78..314f33f32da 100644 --- a/ace/OS_Dirent.inl +++ b/ace/OS_Dirent.inl @@ -109,6 +109,7 @@ ACE_OS_Dirent::readdir_r (ACE_DIR *dirp, (!defined (sun) && (defined (ACE_HAS_PTHREADS_STD) || \ defined (ACE_HAS_PTHREADS_DRAFT7) || \ defined (__USE_POSIX) || \ + defined (__FreeBSD__) || \ defined (HPUX_11))) # if defined (__GNUG__) && defined (DIGITAL_UNIX) return readdir_r (dirp, entry, result); diff --git a/ace/POSIX_Proactor.cpp b/ace/POSIX_Proactor.cpp index 6dda757c3dd..b28b38a0430 100644 --- a/ace/POSIX_Proactor.cpp +++ b/ace/POSIX_Proactor.cpp @@ -927,17 +927,16 @@ void ACE_POSIX_AIOCB_Proactor::check_max_aio_num () aiocb_list_max_size_ > (unsigned long) max_os_aio_num) aiocb_list_max_size_ = max_os_aio_num; -#if defined (HPUX) - // Although HPUX 11.00 allows to start 2048 AIO's - // for all process in system - // it has a limit 256 max elements for aio_suspend () - // It is a pity, but ... +#if defined (HPUX) || defined (__FreeBSD__) + // Although HPUX 11.00 allows to start 2048 AIO's for all process in + // system it has a limit 256 max elements for aio_suspend () It is a + // pity, but ... long max_os_listio_num = ACE_OS::sysconf (_SC_AIO_LISTIO_MAX); if (max_os_listio_num > 0 && aiocb_list_max_size_ > (unsigned long) max_os_listio_num) aiocb_list_max_size_ = max_os_listio_num; -#endif /* HPUX */ +#endif /* HPUX || __FreeBSD__ */ // check for user-defined value // ACE_AIO_MAX_SIZE if defined in POSIX_Proactor.h |