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.
This commit is contained in:
Viktor Szakats
2008-10-09 08:06:47 +00:00
parent 953208bbe1
commit c3c9bc4e89
4 changed files with 36 additions and 15 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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;

View File

@@ -52,6 +52,7 @@
#include "hbmath.h"
#include "hbdate.h"
#include <stdlib.h>
#if !defined( HB_OS_WIN_32 )