[omniORB] Re: AIX Problems

Helmut Swaczinna Helmut.Swaczinna@wmd.de
Thu, 23 Sep 1999 13:30:31 +0100


Sai-Lai,

applies this only to AIX or is this a general bug fix?

Helmut


At 10:56 23.09.99 +0100, you wrote:
>
>Your first problem with 2.7.1 is a known bug and has been fixed in omniORB
>2.8.0.
>
>The problem was that NetBufferedStream::RdUnlock() and WrUnlock() shouldn't
>call giveback_*() when the strand is already dying.
>
>The fix is:
>
>void
>NetBufferedStream::RdUnlock() {
>  if (pd_RdLock) {
>    if (!strandIsDying()) giveback_received();
>    Strand_Sync::RdUnlock();
>    pd_RdLock = 0;
>  }
>  return;
>}
>
>void
>NetBufferedStream::WrUnlock() {
>  if (pd_WrLock) {
>    if (!strandIsDying()) giveback_reserved();
>    Strand_Sync::WrUnlock();
>    pd_WrLock = 0;
>  }
>  return;
>}
>
>