diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 79ea36b898..be2668998c 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,25 @@ 2008-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) */ +2008-10-09 09:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + * include/hbextern.ch + + Added missing HB_DISABLEWAITLOCKS(). + ; NOTE: This looks like a hack to add FLX_WAIT flag + for locks app-wide, and on Windows systems only. + IMO we should not have such hacks in core, or if + this is really important it should support all + possible platforms. + It also has a low-level function equivalent, + which is missing from hbapifs.h. There is no + reference to these function in any Harbour or + xhb changelogs. + If there are no objections, I'd like remove + this functionality. + + * source/rtl/hbrandom.c + * source/rtl/filesys.c + * Minor formatting. + 2008-10-09 03:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/source/compiler/hbmain.c diff --git a/harbour/include/hbextern.ch b/harbour/include/hbextern.ch index 5e62751c40..c5e21ef584 100644 --- a/harbour/include/hbextern.ch +++ b/harbour/include/hbextern.ch @@ -862,6 +862,7 @@ EXTERNAL HB_GETENV EXTERNAL HB_USERNAME EXTERNAL HB_RUN EXTERNAL HB_GETREADVAR +EXTERNAL HB_DISABLEWAITLOCKS EXTERNAL HB_INISETCOMMENT EXTERNAL HB_INIREAD diff --git a/harbour/source/rtl/filesys.c b/harbour/source/rtl/filesys.c index ab8d5a91c9..6bbbf11af2 100644 --- a/harbour/source/rtl/filesys.c +++ b/harbour/source/rtl/filesys.c @@ -317,7 +317,7 @@ static HANDLE DosToWinHandle( HB_FHANDLE fHandle ) return GetStdHandle( STD_OUTPUT_HANDLE ); else if( fHandle == ( HB_FHANDLE ) 2 ) - return GetStdHandle( STD_ERROR_HANDLE) ; + return GetStdHandle( STD_ERROR_HANDLE); else return ( HANDLE ) fHandle; @@ -1366,7 +1366,7 @@ HB_EXPORT USHORT hb_fsRead( HB_FHANDLE hFileHandle, BYTE * pBuff, USHORT uiCount #if defined(HB_WIN32_IO) { - DWORD dwRead ; + DWORD dwRead; BOOL fResult; hb_vmUnlock(); @@ -1891,14 +1891,14 @@ HB_EXPORT BOOL hb_fsLock( HB_FHANDLE hFileHandle, ULONG ulStart, { if( hb_iswinnt() ) { - OVERLAPPED sOlap ; - DWORD dwFlags ; - memset( &sOlap, 0, sizeof( OVERLAPPED ) ) ; - sOlap.Offset = ( ULONG ) ulStart ; - dwFlags = ( uiMode & FLX_SHARED ) ? 0 : LOCKFILE_EXCLUSIVE_LOCK ; + OVERLAPPED sOlap; + DWORD dwFlags; + memset( &sOlap, 0, sizeof( OVERLAPPED ) ); + sOlap.Offset = ( ULONG ) ulStart; + dwFlags = ( uiMode & FLX_SHARED ) ? 0 : LOCKFILE_EXCLUSIVE_LOCK; if( !s_fUseWaitLocks || !( uiMode & FLX_WAIT ) ) { - dwFlags |= LOCKFILE_FAIL_IMMEDIATELY ; + dwFlags |= LOCKFILE_FAIL_IMMEDIATELY; } bResult = LockFileEx( DosToWinHandle( hFileHandle ), dwFlags, 0, ulLength, 0, &sOlap ); } @@ -1912,9 +1912,9 @@ HB_EXPORT BOOL hb_fsLock( HB_FHANDLE hFileHandle, ULONG ulStart, { if( hb_iswinnt() ) { - OVERLAPPED sOlap ; - memset( &sOlap, 0, sizeof( OVERLAPPED ) ) ; - sOlap.Offset = ( ULONG ) ulStart ; + OVERLAPPED sOlap; + memset( &sOlap, 0, sizeof( OVERLAPPED ) ); + sOlap.Offset = ( ULONG ) ulStart; bResult = UnlockFileEx( DosToWinHandle( hFileHandle ), 0, ulLength,0, &sOlap ); } else @@ -2100,13 +2100,13 @@ HB_EXPORT BOOL hb_fsLockLarge( HB_FHANDLE hFileHandle, HB_FOFFSET ulStart, case FL_LOCK: if( hb_iswinnt() ) { - OVERLAPPED sOlap ; - DWORD dwFlags ; + OVERLAPPED sOlap; + DWORD dwFlags; dwFlags = ( ( uiMode & FLX_SHARED ) ? 0 : LOCKFILE_EXCLUSIVE_LOCK ); if( !s_fUseWaitLocks || !( uiMode & FLX_WAIT ) ) { - dwFlags |= LOCKFILE_FAIL_IMMEDIATELY ; + dwFlags |= LOCKFILE_FAIL_IMMEDIATELY; } memset( &sOlap, 0, sizeof( OVERLAPPED ) ); @@ -2127,7 +2127,7 @@ HB_EXPORT BOOL hb_fsLockLarge( HB_FHANDLE hFileHandle, HB_FOFFSET ulStart, case FL_UNLOCK: if( hb_iswinnt() ) { - OVERLAPPED sOlap ; + OVERLAPPED sOlap; memset( &sOlap, 0, sizeof( OVERLAPPED ) ); sOlap.Offset = dwOffsetLo; diff --git a/harbour/source/rtl/hbrandom.c b/harbour/source/rtl/hbrandom.c index 3a7169b5e1..f7139d3cf7 100644 --- a/harbour/source/rtl/hbrandom.c +++ b/harbour/source/rtl/hbrandom.c @@ -52,6 +52,7 @@ #include "hbmath.h" #include "hbdate.h" + #include #if !defined( HB_OS_WIN_32 )