Skip to content

Commit

Permalink
esync/fsync fixes
Browse files Browse the repository at this point in the history
- Update esync/fsync unix patchsets for e01b708 and move previous versions to legacy
- Disable server_Abort_waiting_on_a_completion_port_when_closing_it on 291888b+
  • Loading branch information
Tk-Glitch committed Oct 28, 2024
1 parent e70f71b commit 06b4f5f
Show file tree
Hide file tree
Showing 9 changed files with 17,091 additions and 7 deletions.
6 changes: 5 additions & 1 deletion wine-tkg-git/wine-tkg-patches/proton/esync/esync
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,12 @@

# esync
if [ "$_use_esync" = "true" ]; then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 9305ac22067786c909071182a3ed65c2b898a102 HEAD ); then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor e01b70851fae74c9a4067e00f4c48f17f319ed2d HEAD ); then
_patchname='esync-unix-mainline.patch' && _patchmsg="Using Esync (unix, mainline) patchset" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor cebad42f35c3360ee73c0ff63baa546cd1bf35aa HEAD ); then
_patchname='esync-unix-mainline-e01b708.patch' && _patchmsg="Using Esync (unix, mainline) patchset" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 9305ac22067786c909071182a3ed65c2b898a102 HEAD ); then
_patchname='esync-unix-mainline-cebad42.patch' && _patchmsg="Using Esync (unix, mainline) patchset" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 7f53ca70bad150af094e77f7dde582dc3f50ff34 HEAD ); then
_patchname='esync-unix-mainline-9305ac2.patch' && _patchmsg="Using Esync (unix, mainline) patchset" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor fd3de9005ef504a810aeb828c5b491a7bebd7888 HEAD ); then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2632,7 +2632,15 @@ diff --git a/server/completion.c b/server/completion.c
index c9b6995e0b2..ef66260c991 100644
--- a/server/completion.c
+++ b/server/completion.c
@@ -64,6 +64,7 @@ static const struct object_ops completion_ops =
@@ -92,6 +92,7 @@ static const struct object_ops completion_wait_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
completion_wait_signaled, /* signaled */
+ NULL, /* get_esync_fd */
completion_wait_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -166,6 +167,7 @@ static const struct object_ops completion_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
completion_signaled, /* signaled */
Expand Down Expand Up @@ -4734,3 +4742,23 @@ index 55c5695964d..4663374653a 100644
if (obj->type == ESYNC_MANUAL_EVENT)
{
/* Acquire the spinlock. */
diff --git a/server/object.c b/server/object.c
index b1665fb5372..0a4d1bede06 100644
--- a/server/object.c
+++ b/server/object.c
@@ -108,6 +108,7 @@ static const struct object_ops apc_reserve_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
+ NULL, /* get_esync_fd */
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -132,6 +133,7 @@ static const struct object_ops completion_reserve_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
+ NULL, /* get_esync_fd */
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */

Large diffs are not rendered by default.

Large diffs are not rendered by default.

10 changes: 7 additions & 3 deletions wine-tkg-git/wine-tkg-patches/proton/fsync/fsync
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# fsync-unix - requares 5.20+ Wine version
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 0c249e6125fc9dc6ee86b4ef6ae0d9fa2fc6291b HEAD ); then
if [ "$_staging_esync" = "true" ]; then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor cebad42f35c3360ee73c0ff63baa546cd1bf35aa HEAD ); then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor e01b70851fae74c9a4067e00f4c48f17f319ed2d HEAD ); then
_patchname='fsync-unix-staging.patch' && _patchmsg="Applied fsync patches (unix, staging)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor cebad42f35c3360ee73c0ff63baa546cd1bf35aa HEAD ); then
_patchname='fsync-unix-staging-e01b708.patch' && _patchmsg="Applied fsync patches (unix, staging)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 7f53ca70bad150af094e77f7dde582dc3f50ff34 HEAD ); then
_patchname='fsync-unix-staging-cebad42.patch' && _patchmsg="Applied fsync patches (unix, staging)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor fd3de9005ef504a810aeb828c5b491a7bebd7888 HEAD ); then
Expand Down Expand Up @@ -49,16 +51,18 @@
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor 0c249e6125fc9dc6ee86b4ef6ae0d9fa2fc6291b HEAD ); then
_patchname='fsync-unix-staging-459d376.patch' && _patchmsg="Applied fsync patches (unix, staging)" && nonuser_patcher
fi
if [ "$_protonify" = "true" ] && ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor c6f2aacb5761801a17b930086111f4b2c4a30075 HEAD ); then
if [ "$_protonify" = "true" ] && ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor c6f2aacb5761801a17b930086111f4b2c4a30075 HEAD && ! git merge-base --is-ancestor 291888be7400726792aa15985de8875ff0b02cf5 HEAD ); then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor d6ef9401b3ef05e87e0cadd31992a6809008331e HEAD ); then
_patchname='server_Abort_waiting_on_a_completion_port_when_closing_it.patch' && _patchmsg="Added Abort waiting on a completion port when closing it Proton patch" && nonuser_patcher
else
_patchname='server_Abort_waiting_on_a_completion_port_when_closing_it-d6ef940.patch' && _patchmsg="Added Abort waiting on a completion port when closing it Proton patch" && nonuser_patcher
fi
fi
elif [ "$_use_esync" = "true" ]; then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor cebad42f35c3360ee73c0ff63baa546cd1bf35aa HEAD ); then
if ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor e01b70851fae74c9a4067e00f4c48f17f319ed2d HEAD ); then
_patchname='fsync-unix-mainline.patch' && _patchmsg="Applied fsync patches (unix, mainline)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor cebad42f35c3360ee73c0ff63baa546cd1bf35aa HEAD ); then
_patchname='fsync-unix-mainline-e01b708.patch' && _patchmsg="Applied fsync patches (unix, mainline)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor c14de4c85e79563f5e859765d0015892ae925cd6 HEAD ); then
_patchname='fsync-unix-mainline-cebad42.patch' && _patchmsg="Applied fsync patches (unix, mainline)" && nonuser_patcher
elif ( cd "${srcdir}"/"${_winesrcdir}" && git merge-base --is-ancestor d5f23441ad460844f552d301680e061dd1a5e90a HEAD ); then
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1730,7 +1730,7 @@ index ef66260c991..2149d0bbf32 100644
completion_wait_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -65,6 +65,7 @@ static const struct object_ops completion_ops =
@@ -166,6 +167,7 @@ static const struct object_ops completion_ops =
remove_queue, /* remove_queue */
completion_signaled, /* signaled */
NULL, /* get_esync_fd */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1730,7 +1730,7 @@ index ef66260c991..2149d0bbf32 100644
completion_wait_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -65,6 +65,7 @@ static const struct object_ops completion_ops =
@@ -166,6 +167,7 @@ static const struct object_ops completion_ops =
remove_queue, /* remove_queue */
completion_signaled, /* signaled */
NULL, /* get_esync_fd */
Expand Down
Loading

0 comments on commit 06b4f5f

Please sign in to comment.