Hi zoran,

In the few line above there is check  to verify sqliteTransLock in " 
while(sqliteTransLock) {" .

Multiple threads are present only for 2PBE case. In the 2PBE case if a 
thread1 is waiting for lock and got the lock released,
then sqliteTransLock will be incremented. If in this time a 
context-switch happens then the thread2 will be spinning in sqliteTransLock.

Decrementing of sqliteTransLock may not be required.

/Neel.


On Tuesday 11 August 2015 06:34 PM, Zoran Milinkovic wrote:
> Hi Neelakanta,
>
> Shouldn't sqliteTransLock be also decremented few lines above in " 
> if(sqliteTransLock != 1) {" statement ?
>
> Thanks,
> Zoran
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]]
> Sent: Thursday, July 30, 2015 3:47 PM
> To: Anders Björnerstedt; Zoran Milinkovic; [email protected]
> Cc: [email protected]
> Subject: [PATCH 1 of 1] imm:Decrement sqliteTransLock when BEGIN EXCLUSIVE 
> TRANSACTION fails [#1426]
>
>   osaf/libs/common/immsv/immpbe_dump.cc |  1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
>
>
> There is a chance that NFS/shared-storage may re-attach after few seconds, 
> and transaction is not yet started, so decrement the sqliteTransLock in 
> pbeBeginTrans which releases the lock
>
> diff --git a/osaf/libs/common/immsv/immpbe_dump.cc 
> b/osaf/libs/common/immsv/immpbe_dump.cc
> --- a/osaf/libs/common/immsv/immpbe_dump.cc
> +++ b/osaf/libs/common/immsv/immpbe_dump.cc
> @@ -2909,6 +2909,7 @@ SaAisErrorT pbeBeginTrans(void* db_handl
>               LOG_ER("SQL statement ('BEGIN EXCLUSIVE TRANSACTION') failed 
> because:\n %s",
>                       execErr);
>               sqlite3_free(execErr);
> +             --sqliteTransLock;
>               return SA_AIS_ERR_FAILED_OPERATION;
>       }
>       return SA_AIS_OK;


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to