Windows portability fixes for prev commit

vmware
Howard Chu 12 years ago
parent f207c50b15
commit d29b9600e6
  1. 10
      libraries/liblmdb/lmdb.h
  2. 8
      libraries/liblmdb/mdb.c

@ -144,12 +144,14 @@ typedef int mdb_mode_t;
typedef mode_t mdb_mode_t; typedef mode_t mdb_mode_t;
#endif #endif
#ifndef _WIN32 /** An abstraction for a file handle.
/** An abstraction for a file handle.
* On POSIX systems file handles are small integers. On Windows * On POSIX systems file handles are small integers. On Windows
* they're opaque pointers. * they're opaque pointers.
*/ */
#define HANDLE int #ifdef _WIN32
typedef void *mdb_filehandle_t;
#else
typedef int mdb_filehandle_t;
#endif #endif
/** @defgroup mdb MDB API /** @defgroup mdb MDB API
@ -550,7 +552,7 @@ int mdb_env_copy(MDB_env *env, const char *path);
* have already been opened for Write access. * have already been opened for Write access.
* @return A non-zero error value on failure and 0 on success. * @return A non-zero error value on failure and 0 on success.
*/ */
int mdb_env_copyfd(MDB_env *env, HANDLE fd); int mdb_env_copyfd(MDB_env *env, mdb_filehandle_t fd);
/** @brief Return statistics about the MDB environment. /** @brief Return statistics about the MDB environment.
* *

@ -199,6 +199,12 @@ mdb_sem_wait(sem_t *sem)
*/ */
#define ErrCode() errno #define ErrCode() errno
/** An abstraction for a file handle.
* On POSIX systems file handles are small integers. On Windows
* they're opaque pointers.
*/
#define HANDLE int
/** A value for an invalid file handle. /** A value for an invalid file handle.
* Mainly used to initialize file variables and signify that they are * Mainly used to initialize file variables and signify that they are
* unused. * unused.
@ -3625,7 +3631,7 @@ mdb_env_close0(MDB_env *env, int excl)
} }
int int
mdb_env_copyfd(MDB_env *env, int fd) mdb_env_copyfd(MDB_env *env, HANDLE fd)
{ {
MDB_txn *txn = NULL; MDB_txn *txn = NULL;
int rc; int rc;

Loading…
Cancel
Save