bug fixes.

Matthew Newhook matthew_newhook@stratos.ca
Thu, 26 Jun 1997 12:12:21 -0230


Hi,
 I've fixed three bugs in omniORB.

 bug #1.
 String_member copy constructor is incorrect.
 Here is a patch.

rcsdiff CORBA.h
===================================================================
RCS file: RCS/CORBA.h,v
retrieving revision 1.1
diff -r1.1 CORBA.h
34,36d33
<  * Revision 1.1  1997/06/24  18:47:11  matthew
<  * Initial revision
<  *
185,188c182
<       if (_ptr) {
<       string_free(_ptr);
<       _ptr = 0;
<       }
---
>       _ptr = 0;

  bug #2
  The code generated by omniidl2 for exceptions is incorrect:
  Here is a patch. (NOTE: this patch is not optimal... but it
  fixes the problem for now)

===================================================================
RCS file: RCS/o2be_operation.cc,v
retrieving revision 1.1
diff -r1.1 o2be_operation.cc
520,521c520,522
<         if (excpt->repoIdConstLen() > maxIdsize)
<           maxIdsize = excpt->repoIdConstLen();
---
>         int len = strlen(excpt->repositoryID())+1;
>         if (len > maxIdsize)
>           maxIdsize = len;
972c973,974
<       produceConstStringSizeCalculation(s,"_msgsize",excpt->repoIdConstLen());
---
>       int len = strlen(excpt->repositoryID())+1;
>       produceConstStringSizeCalculation(s,"_msgsize", len);
976,977c978
<       produceConstStringMarshalCode(s,"_s",excpt->repoIdConstName(),
<                                     excpt->repoIdConstLen());
---
>       produceConstStringMarshalCode(s,"_s",excpt->repoIdConstName(), len);

  bug #3.
  If an attempt is made to access orb methods that lock the
  object table (such as is_equivalent) during the destruction
  of an implementation object a deadlock will occur.  Here is
  a patch for this problem.

RCS file: RCS/objectRef.cc,v
retrieving revision 1.1
diff -r1.1 objectRef.cc
265a266
>   omniObject* toDelete = 0;
268c269,270
<     delete obj;
---
>     toDelete = obj;
>     //delete obj;
273a276,277
>   if (toDelete != 0)
>     delete toDelete;

Matthew
-- 
Matthew Newhook.  matthew_newhook@stratos.ca, http://www.engr.mun.ca/~matthew
Software Designer, Stratos Network Research.
w: (709) 364-5950, h: (709)-745-4346