summaryrefslogtreecommitdiff
path: root/src/tests/xb_test_lock2.cpp
diff options
context:
space:
mode:
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 );
}