#include <config.h>
#include <glib.h>
+#include <sys/stat.h>
#include <mono/io-layer/handles.h>
#include <mono/io-layer/io.h>
/* Increment this whenever an incompatible change is made to the
* shared handle structure.
*/
-/* Next time I change this, remember to fix the process count in shared.c */
-#define _WAPI_HANDLE_VERSION 10
+#define _WAPI_HANDLE_VERSION 12
typedef enum {
WAPI_HANDLE_UNUSED=0,
extern const char *_wapi_handle_typename[];
#define _WAPI_SHARED_HANDLE(type) (type == WAPI_HANDLE_PROCESS || \
- type == WAPI_HANDLE_THREAD || \
type == WAPI_HANDLE_NAMEDMUTEX || \
type == WAPI_HANDLE_NAMEDSEM || \
type == WAPI_HANDLE_NAMEDEVENT)
guint32 offset;
};
-#define _WAPI_HANDLE_INITIAL_COUNT 4096
+#define _WAPI_HANDLE_INITIAL_COUNT 256
struct _WapiHandleUnshared
{
struct _WapiHandle_mutex mutex;
struct _WapiHandle_sem sem;
struct _WapiHandle_socket sock;
+ struct _WapiHandle_thread thread;
struct _WapiHandle_shared_ref shared;
} u;
};
union
{
- struct _WapiHandle_thread thread;
struct _WapiHandle_process process;
struct _WapiHandle_namedmutex namedmutex;
struct _WapiHandle_namedsem namedsem;
struct _WapiFileShare
{
+#ifdef WAPI_FILE_SHARE_PLATFORM_EXTRA_DATA
+ WAPI_FILE_SHARE_PLATFORM_EXTRA_DATA
+#endif
dev_t device;
ino_t inode;
pid_t opened_by_pid;