summaryrefslogtreecommitdiff
path: root/src/tests/xb_test_lock2.cpp
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2023-08-14 21:07:48 +0200
commitd850e78baf62d1f472a3a296f407c127c64cec88 (patch)
tree39725643b44c91ea25809766cf95cd0b1173e880 /src/tests/xb_test_lock2.cpp
parent15f88452d39eee5a89551a89ef2b93df5168ba2f (diff)
parentc894a7cdd8686ea695602a23a511a3f1b0d047be (diff)
Update upstream source from tag 'upstream/4.1.4'
Update to upstream version '4.1.4' with Debian dir 403f575aa88344456029245280a05149f0173f2e
Diffstat (limited to 'src/tests/xb_test_lock2.cpp')
-rwxr-xr-xsrc/tests/xb_test_lock2.cpp34
1 files changed, 30 insertions, 4 deletions
diff --git a/src/tests/xb_test_lock2.cpp b/src/tests/xb_test_lock2.cpp
index d5534ec..82b4dea 100755
--- a/src/tests/xb_test_lock2.cpp
+++ b/src/tests/xb_test_lock2.cpp
@@ -38,8 +38,7 @@ int main( int argCnt, char **av )
/* 2 - VERBOSE */
xbBool bDone = xbFalse;
-// xbInt16 iErrorStop = 0;
- xbString sLockFile = "locktest.txt";
+ xbString sLockFile;
xbString sLockCmd;
xbString sResult;
xbInt32 iChildLoop = 0;
@@ -74,6 +73,9 @@ int main( int argCnt, char **av )
x.SetDataDirectory( PROJECT_DATA_DIR );
InitTime();
+ sLockFile.Sprintf( "%slocktest.txt", PROJECT_DATA_DIR );
+ // std::cout << "xb_test_lock2 - lockfile = [ " << sLockFile.Str() << "]\n";
+
#ifdef XB_DBF4_SUPPORT
MyFile = new xbDbf4( &x ); /* version 4 dbf file */
#else
@@ -166,7 +168,31 @@ int main( int argCnt, char **av )
#else
sLockCmd = "OK";
#endif
+
+ } else if( sLockCmd == "IL" ){
+ // index lock
+ #ifdef XB_MDX_SUPPORT
+ if(( iRc2 = MyFile->LockIndices( XB_LOCK )) != XB_NO_ERROR )
+ sResult = "FAIL";
+ else
+ sResult = "OK";
+ #else
+ sLockCmd = "OK";
+ #endif
+
+ } else if( sLockCmd == "IU" ){
+ // index unlock
+ #ifdef XB_MDX_SUPPORT
+ if(( iRc2 = MyFile->LockIndices( XB_UNLOCK )) != XB_NO_ERROR )
+ sResult = "FAIL";
+ else
+ sResult = "OK";
+ #else
+ sLockCmd = "OK";
+ #endif
}
+
+
#ifdef XB_LOGGING_SUPPORT
sMsg.Sprintf( "Program [%s] Child task [%s] Result [%s] RC = [%d]", av[0], sLockCmd.Str(), sResult.Str(), iRc2 );
x.WriteLogMessage( sMsg );
@@ -188,7 +214,7 @@ int main( int argCnt, char **av )
if( po > 0 )
std::cout << "Exiting child\n";
- remove( sLockFile );
+ remove( sLockFile.Str() );
#ifdef XB_LOGGING_SUPPORT
sMsg.Sprintf( "Program [%s] Child task terminating", av[0] );
x.WriteLogMessage( sMsg );
@@ -202,6 +228,6 @@ int main( int argCnt, char **av )
x.WriteLogMessage( sMsg );
#endif
- ExitProcess( iRc );
+ ExitProcess( (xbUInt32) iRc );
}