[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnet/support file.c,1.16,1.17
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnet/support file.c,1.16,1.17 |
Date: |
Wed, 12 Nov 2003 03:24:36 +0000 |
Update of /cvsroot/dotgnu-pnet/pnet/support
In directory subversions:/tmp/cvs-serv20019/support
Modified Files:
file.c
Log Message:
Port the file locking primitives to Win32.
Index: file.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/support/file.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** file.c 11 Nov 2003 00:37:09 -0000 1.16
--- file.c 12 Nov 2003 03:24:34 -0000 1.17
***************
*** 415,419 ****
int ILSysIOLock(ILSysIOHandle handle, ILInt64 position, ILInt64 length)
{
! #if defined(HAVE_FCNTL) && defined(HAVE_F_SETLKW)
struct flock cntl_data;
/* set fields individually...who knows what extras are there? */
--- 415,444 ----
int ILSysIOLock(ILSysIOHandle handle, ILInt64 position, ILInt64 length)
{
! #if defined(IL_WIN32_PLATFORM)
! /* Bypass the system library and call LockFile directly under Win32 */
! #ifdef IL_WIN32_CYGWIN
! HANDLE osHandle = (HANDLE)get_osfhandle((int)(ILNativeInt)handle);
! #else
! HANDLE osHandle = (HANDLE)_get_osfhandle((int)(ILNativeInt)handle);
! #endif
! if(osHandle == (HANDLE)INVALID_HANDLE_VALUE)
! {
! ILSysIOSetErrno(IL_ERRNO_EBADF);
! return 0;
! }
! if(LockFile(osHandle,
! (DWORD)(position & IL_MAX_UINT32),
! (DWORD)((position >> 32) & IL_MAX_UINT32),
! (DWORD)(length & IL_MAX_UINT32),
! (DWORD)((length >> 32) & IL_MAX_UINT32)))
! {
! return 1;
! }
! else
! {
! ILSysIOSetErrno(IL_ERRNO_ENOLCK);
! return 0;
! }
! #elif defined(HAVE_FCNTL) && defined(HAVE_F_SETLKW)
struct flock cntl_data;
/* set fields individually...who knows what extras are there? */
***************
*** 436,440 ****
int ILSysIOUnlock(ILSysIOHandle handle, ILInt64 position, ILInt64 length)
{
! #if defined(HAVE_FCNTL) && defined(HAVE_F_SETLKW)
struct flock cntl_data;
/* set fields individually...who knows what extras are there? */
--- 461,490 ----
int ILSysIOUnlock(ILSysIOHandle handle, ILInt64 position, ILInt64 length)
{
! #if defined(IL_WIN32_PLATFORM)
! /* Bypass the system library and call UnlockFile directly under Win32 */
! #ifdef IL_WIN32_CYGWIN
! HANDLE osHandle = (HANDLE)get_osfhandle((int)(ILNativeInt)handle);
! #else
! HANDLE osHandle = (HANDLE)_get_osfhandle((int)(ILNativeInt)handle);
! #endif
! if(osHandle == (HANDLE)INVALID_HANDLE_VALUE)
! {
! ILSysIOSetErrno(IL_ERRNO_EBADF);
! return 0;
! }
! if(UnlockFile(osHandle,
! (DWORD)(position & IL_MAX_UINT32),
! (DWORD)((position >> 32) & IL_MAX_UINT32),
! (DWORD)(length & IL_MAX_UINT32),
! (DWORD)((length >> 32) & IL_MAX_UINT32)))
! {
! return 1;
! }
! else
! {
! ILSysIOSetErrno(IL_ERRNO_ENOLCK);
! return 0;
! }
! #elif defined(HAVE_FCNTL) && defined(HAVE_F_SETLKW)
struct flock cntl_data;
/* set fields individually...who knows what extras are there? */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnet/support file.c,1.16,1.17,
Rhys Weatherley <address@hidden> <=
- Prev by Date:
[Dotgnu-pnet-commits] pnet ChangeLog, 1.2766, 1.2767 configure.in, 1.154, 1.155
- Next by Date:
[Dotgnu-pnet-commits] pnet ChangeLog,1.2767,1.2768
- Previous by thread:
[Dotgnu-pnet-commits] pnet ChangeLog, 1.2766, 1.2767 configure.in, 1.154, 1.155
- Next by thread:
[Dotgnu-pnet-commits] pnet ChangeLog,1.2767,1.2768
- Index(es):