Rebase against 3c86adab766e3bc7c91da088c2dd6bc41a917055.

This commit is contained in:
Zebediah Figura
2020-06-01 22:31:00 -05:00
parent f132e60b9d
commit c81093882b
17 changed files with 224 additions and 257 deletions

View File

@@ -1,4 +1,4 @@
From e5ee1bec04910d5109591ee82177cdddaab60da7 Mon Sep 17 00:00:00 2001
From 9d0ef7cd2af3c8ca34f24247a7927c24c7086741 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 6 Sep 2015 12:41:17 +0200
Subject: [PATCH] ws2_32: Invalidate client-side file descriptor cache in
@@ -29,10 +29,10 @@ index 42532bd9f1c..ba46f170670 100644
@ cdecl wine_server_handle_to_fd(long long ptr ptr)
@ cdecl wine_server_release_fd(long long)
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
index ed4e3f25531..ae1e41a485e 100644
index c7788b99e2d..54291d0a909 100644
--- a/dlls/ntdll/server.c
+++ b/dlls/ntdll/server.c
@@ -687,6 +687,14 @@ void CDECL wine_server_release_fd( HANDLE handle, int unix_fd )
@@ -239,6 +239,14 @@ void CDECL wine_server_release_fd( HANDLE handle, int unix_fd )
unix_funcs->server_release_fd( handle, unix_fd );
}
@@ -48,22 +48,22 @@ index ed4e3f25531..ae1e41a485e 100644
/***********************************************************************
* server_init_process
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index 4a3f101d301..8b10964603e 100644
index aa020845bb9..0ef08edc474 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -1000,6 +1000,7 @@ static struct unix_funcs unix_funcs =
wine_server_call,
@@ -1014,6 +1014,7 @@ static struct unix_funcs unix_funcs =
server_wait,
server_queue_process_apc,
server_send_fd,
server_remove_fd_from_cache,
+ server_remove_fds_from_cache_by_type,
server_get_unix_fd,
server_fd_to_handle,
server_handle_to_fd,
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 8dc3f33bc80..dd2cb6cf5e2 100644
index 8889c5d4b12..929ff354d65 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -559,6 +559,26 @@ int CDECL server_remove_fd_from_cache( HANDLE handle )
@@ -983,6 +983,26 @@ static int remove_fd_from_cache( HANDLE handle )
return fd;
}
@@ -91,34 +91,34 @@ index 8dc3f33bc80..dd2cb6cf5e2 100644
/***********************************************************************
* server_get_unix_fd
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
index 2bf39f85371..32c03fd8983 100644
index 0694426dddb..5c13dce0b0a 100644
--- a/dlls/ntdll/unix/unix_private.h
+++ b/dlls/ntdll/unix/unix_private.h
@@ -63,6 +63,7 @@ extern void CDECL dbg_init(void) DECLSPEC_HIDDEN;
extern unsigned int CDECL server_call_unlocked( void *req_ptr ) DECLSPEC_HIDDEN;
@@ -68,6 +68,7 @@ extern unsigned int CDECL server_wait( const select_op_t *select_op, data_size_t
const LARGE_INTEGER *timeout ) DECLSPEC_HIDDEN;
extern unsigned int CDECL server_queue_process_apc( HANDLE process, const apc_call_t *call, apc_result_t *result ) DECLSPEC_HIDDEN;
extern void CDECL server_send_fd( int fd ) DECLSPEC_HIDDEN;
extern int CDECL server_remove_fd_from_cache( HANDLE handle ) DECLSPEC_HIDDEN;
+extern void CDECL server_remove_fds_from_cache_by_type( enum server_fd_type type ) DECLSPEC_HIDDEN;
extern int CDECL server_get_unix_fd( HANDLE handle, unsigned int wanted_access, int *unix_fd,
int *needs_close, enum server_fd_type *type,
unsigned int *options ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unixlib.h b/dlls/ntdll/unixlib.h
index 142e8956e7e..452c725dfde 100644
index 323141d3840..0189c247b7a 100644
--- a/dlls/ntdll/unixlib.h
+++ b/dlls/ntdll/unixlib.h
@@ -25,7 +25,7 @@
#include "wine/debug.h"
@@ -27,7 +27,7 @@
struct ldt_copy;
/* increment this when you change the function table */
-#define NTDLL_UNIXLIB_VERSION 10
+#define NTDLL_UNIXLIB_VERSION 11
-#define NTDLL_UNIXLIB_VERSION 13
+#define NTDLL_UNIXLIB_VERSION 14
struct unix_funcs
{
@@ -55,6 +55,7 @@ struct unix_funcs
unsigned int (CDECL *server_call)( void *req_ptr );
@@ -80,6 +80,7 @@ struct unix_funcs
const LARGE_INTEGER *timeout );
unsigned int (CDECL *server_queue_process_apc)( HANDLE process, const apc_call_t *call, apc_result_t *result );
void (CDECL *server_send_fd)( int fd );
int (CDECL *server_remove_fd_from_cache)( HANDLE handle );
+ void (CDECL *server_remove_fds_from_cache_by_type)( enum server_fd_type type );
int (CDECL *server_get_unix_fd)( HANDLE handle, unsigned int wanted_access, int *unix_fd,
int *needs_close, enum server_fd_type *type, unsigned int *options );