diff --git a/patches/eventfd_synchronization/0046-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch b/patches/eventfd_synchronization/0046-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch index 34543e53..18dfad0f 100644 --- a/patches/eventfd_synchronization/0046-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch +++ b/patches/eventfd_synchronization/0046-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch @@ -1,4 +1,4 @@ -From ab9811ec42c11a8dc6f4e756838886bf55b244bb Mon Sep 17 00:00:00 2001 +From a791c331b23e717a5f6c0397e4c290e8e8abd2f2 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sat, 7 Jul 2018 12:57:47 +0200 Subject: [PATCH] server: Create eventfd descriptors for pseudo-fd objects and @@ -11,7 +11,7 @@ Subject: [PATCH] server: Create eventfd descriptors for pseudo-fd objects and 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/server/fd.c b/server/fd.c -index 50f915ed503..36f9770aed3 100644 +index 880a5037925..c6db8d13265 100644 --- a/server/fd.c +++ b/server/fd.c @@ -102,6 +102,7 @@ @@ -30,7 +30,7 @@ index 50f915ed503..36f9770aed3 100644 }; static void fd_dump( struct object *obj, int verbose ); -@@ -1596,6 +1598,9 @@ static void fd_destroy( struct object *obj ) +@@ -1606,6 +1608,9 @@ static void fd_destroy( struct object *obj ) free( fd->unlink_name ); free( fd->unix_name ); } @@ -40,7 +40,7 @@ index 50f915ed503..36f9770aed3 100644 } /* check if the desired access is possible without violating */ -@@ -1713,6 +1718,7 @@ static struct fd *alloc_fd_object(void) +@@ -1723,6 +1728,7 @@ static struct fd *alloc_fd_object(void) fd->poll_index = -1; fd->completion = NULL; fd->comp_flags = 0; @@ -48,7 +48,7 @@ index 50f915ed503..36f9770aed3 100644 init_async_queue( &fd->read_q ); init_async_queue( &fd->write_q ); init_async_queue( &fd->wait_q ); -@@ -1753,11 +1759,15 @@ struct fd *alloc_pseudo_fd( const struct fd_ops *fd_user_ops, struct object *use +@@ -1763,11 +1769,15 @@ struct fd *alloc_pseudo_fd( const struct fd_ops *fd_user_ops, struct object *use fd->completion = NULL; fd->comp_flags = 0; fd->no_fd_status = STATUS_BAD_DEVICE_TYPE; @@ -64,7 +64,7 @@ index 50f915ed503..36f9770aed3 100644 return fd; } -@@ -2263,6 +2273,9 @@ void set_fd_signaled( struct fd *fd, int signaled ) +@@ -2293,6 +2303,9 @@ void set_fd_signaled( struct fd *fd, int signaled ) if (fd->comp_flags & FILE_SKIP_SET_EVENT_ON_HANDLE) return; fd->signaled = signaled; if (signaled) wake_up( fd->user, 0 ); @@ -74,7 +74,7 @@ index 50f915ed503..36f9770aed3 100644 } /* check if events are pending and if yes return which one(s) */ -@@ -2288,6 +2301,15 @@ int default_fd_signaled( struct object *obj, struct wait_queue_entry *entry ) +@@ -2318,6 +2331,15 @@ int default_fd_signaled( struct object *obj, struct wait_queue_entry *entry ) return ret; } @@ -91,19 +91,19 @@ index 50f915ed503..36f9770aed3 100644 { int events = 0; diff --git a/server/file.h b/server/file.h -index 0fa66e5750a..edafb4a1ca7 100644 +index 80f2191c050..224048a4292 100644 --- a/server/file.h +++ b/server/file.h -@@ -103,6 +103,7 @@ extern char *dup_fd_name( struct fd *root, const char *name ); +@@ -106,6 +106,7 @@ extern char *dup_fd_name( struct fd *root, const char *name ); extern void get_nt_name( struct fd *fd, struct unicode_str *name ); extern int default_fd_signaled( struct object *obj, struct wait_queue_entry *entry ); +extern int default_fd_get_esync_fd( struct object *obj, enum esync_type *type ); extern int default_fd_get_poll_events( struct fd *fd ); extern void default_poll_event( struct fd *fd, int event ); - extern void fd_queue_async( struct fd *fd, struct async *async, int type ); + extern void fd_cancel_async( struct fd *fd, struct async *async ); diff --git a/server/named_pipe.c b/server/named_pipe.c -index d756de18db0..3ed9a543fdc 100644 +index 6b4401810dc..27f4497bfe2 100644 --- a/server/named_pipe.c +++ b/server/named_pipe.c @@ -168,7 +168,7 @@ static const struct object_ops pipe_server_ops = @@ -115,7 +115,7 @@ index d756de18db0..3ed9a543fdc 100644 no_satisfied, /* satisfied */ no_signal, /* signal */ pipe_end_get_fd, /* get_fd */ -@@ -212,7 +212,7 @@ static const struct object_ops pipe_client_ops = +@@ -213,7 +213,7 @@ static const struct object_ops pipe_client_ops = add_queue, /* add_queue */ remove_queue, /* remove_queue */ default_fd_signaled, /* signaled */ @@ -125,5 +125,5 @@ index d756de18db0..3ed9a543fdc 100644 no_signal, /* signal */ pipe_end_get_fd, /* get_fd */ -- -2.30.2 +2.33.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index deeea03e..9b2b03fe 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "63737942a06183f6b2e7fa8f95a07c918c9bf29b" + echo "0b7f8373e3593ca8e5261d4486f1d04092a15653" } # Show version information diff --git a/staging/upstream-commit b/staging/upstream-commit index 0aa03579..8955e06d 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -63737942a06183f6b2e7fa8f95a07c918c9bf29b +0b7f8373e3593ca8e5261d4486f1d04092a15653