Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

winebus.sys: Map more SDL Xbox controllers #10

Closed
wants to merge 1 commit into from

Conversation

kakra
Copy link
Contributor

@kakra kakra commented Feb 25, 2018

These device ids are usually returned by newer firmware versions.
Especially, the Android mode of the controller (when paired by bluetooth
to a Linux system) changes the input mapping of the controller. The
current kernel drivers do not correct this, xpadneo is needed as the
driver to get correct mapping.

Signed-off-by: Kai Krakow [email protected]

These device ids are usually returned by newer firmware versions.
Especially, the Android mode of the controller (when paired by bluetooth
to a Linux system) changes the input mapping of the controller. The
current kernel drivers do not correct this, xpadneo[1] is needed as the
driver to get correct mapping.

[1]: https:/atar-axis/xpadneo

Signed-off-by: Kai Krakow <[email protected]>
@kakra
Copy link
Contributor Author

kakra commented Mar 10, 2018

Reformatted patch submitted as wine-staging#2

@kakra kakra closed this Mar 10, 2018
@kakra kakra deleted the add-more-sdl-device-ids branch March 10, 2018 10:23
kakra pushed a commit to kakra/wine that referenced this pull request Aug 24, 2018
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
kakra pushed a commit to kakra/wine that referenced this pull request Aug 24, 2018
May help with wine-mirror#10, although the real fix there is just not to use esync.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 1, 2018
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 1, 2018
May help with wine-mirror#10, although the real fix there is just not to use esync.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 18, 2018
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 18, 2018
May help with wine-mirror#10, although the real fix there is just not to use esync.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 23, 2018
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
kakra pushed a commit to kakra/wine that referenced this pull request Sep 23, 2018
May help with wine-mirror#10, although the real fix there is just not to use esync.
kakra pushed a commit to kakra/wine that referenced this pull request Dec 14, 2018
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
kakra pushed a commit to kakra/wine that referenced this pull request Dec 14, 2018
May help with wine-mirror#10, although the real fix there is just not to use esync.
felixhaedicke pushed a commit to felixhaedicke/wine that referenced this pull request Jul 2, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
felixhaedicke pushed a commit to felixhaedicke/wine that referenced this pull request Jul 2, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Jul 31, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 1, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 1, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 3, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 3, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 22, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
imaami pushed a commit to imaami/wine that referenced this pull request Aug 22, 2019
May help with wine-mirror#10, although the real fix there is just not to use esync.
Guy1524 referenced this pull request in Guy1524/wine Dec 6, 2019
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes #10.
Guy1524 referenced this pull request in Guy1524/wine Dec 6, 2019
May help with #10, although the real fix there is just not to use esync.
Guy1524 referenced this pull request in Guy1524/wine Jan 17, 2020
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes #10.
Guy1524 referenced this pull request in Guy1524/wine Jan 17, 2020
May help with #10, although the real fix there is just not to use esync.
zzhiyi pushed a commit to zzhiyi/wine that referenced this pull request Jan 26, 2020
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes wine-mirror#10.
zzhiyi pushed a commit to zzhiyi/wine that referenced this pull request Jan 26, 2020
May help with wine-mirror#10, although the real fix there is just not to use esync.
Guy1524 referenced this pull request in Guy1524/wine Jul 13, 2020
There's no reason these should be global, and in particular, this means that esync_pulse_event() might end up writing 0, which raises the likelihood of a missed wakeup from "probable" to "certain".

Fixes #10.
Guy1524 referenced this pull request in Guy1524/wine Jul 13, 2020
May help with #10, although the real fix there is just not to use esync.
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 11, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 12, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 15, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
jeremyd2019 pushed a commit to jeremyd2019/wine that referenced this pull request Jun 17, 2024
MSYS does a `dup(sockfd)` via DuplicateHandle.
Unfortunately that way the new handle is not contained in
the ws2_32.socket_list.

This change just disables this check to workaround this.


Kind of related: https://bugs.winehq.org/show_bug.cgi?id=54413


wine c:/msys64/usr/bin/git.exe clone --mirror git://sourceware.org/git/newlib-cygwin.git /home/bernhard/MSYS2-packages/msys2-runtime/msys2-runtime


(rr) list fhandler_base::dup
1320    int
1321    fhandler_base::dup (fhandler_base *child, int flags)
1322    {
1323      debug_printf ("in fhandler_base dup");
1324
1325      HANDLE nh;
1326      if (!nohandle () && !archetype)
1327        {
1328          if (!DuplicateHandle (GetCurrentProcess (), get_handle (),
1329                                GetCurrentProcess (), &nh,
1330                                0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
1331            {
1332              debug_printf ("dup(%s) failed, handle %p, %E",
1333                            get_name (), get_handle ());
1334              __seterrno ();
1335              return -1;
1336            }
1337
1338          VerifyHandle (nh);
1339          child->set_handle (nh);
1340        }
1341      return 0;
1342    }
(rr) print x
$29 = (HANDLE) 0x150
(rr) bt
#0  fhandler_base::set_handle (this=0x800027a28, x=0x150) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/local_includes/fhandler.h:238
wine-mirror#1  0x000000018011315a in fhandler_base::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/base.cc:1339
wine-mirror#2  0x000000018015a8c8 in fhandler_socket_wsock::dup (this=0x800027318, child=0x800027a28, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/fhandler/socket_inet.cc:558
wine-mirror#3  0x000000018005f6ec in dtable::dup_worker (this=0x800004858, oldfh=0x800027318, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:707
wine-mirror#4  0x000000018005fa56 in dtable::dup3 (this=0x800004858, oldfd=3, newfd=4, flags=32768) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/dtable.cc:774
wine-mirror#5  0x00000001800dd567 in dup (fd=3) at /home/Benutzer1/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/syscalls.cc:96
wine-mirror#6  0x00000001801c348b in _sigfe () at sigfe.s:36
wine-mirror#7  0x0000000a00000003 in ?? ()
wine-mirror#8  0x0000000000000040 in ?? ()
wine-mirror#9  0x0a0a0a0a0a0a0a0a in ?? ()
wine-mirror#10 0x0000000a00003e66 in ?? ()
wine-mirror#11 0x0000000a00003e90 in ?? ()
wine-mirror#12 0x000000010050d4b2 in git_connect_git (fd=fd@entry=0xa00003c40, hostandport=0xa00003e70 "sourceware.org", path=0xa00003e50 "/git/newlib-cygwin.git", prog=prog@entry=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", version=version@entry=protocol_v2, flags=flags@entry=0) at connect.c:1257
wine-mirror#13 0x000000010050e4ad in git_connect (fd=fd@entry=0xa00003c40, url=0xa000033e0 "git://sourceware.org/git/newlib-cygwin.git", prog=0x10067bcd9 <junk_leave_repo_msg+1913> "git-upload-pack", flags=0) at connect.c:1437
wine-mirror#14 0x0000000100622f65 in connect_setup (transport=transport@entry=0xa000038a0, for_push=for_push@entry=0) at transport.c:278
wine-mirror#15 0x0000000100623043 in handshake (transport=0xa000038a0, for_push=0, options=0x67dfc800, must_list_refs=must_list_refs@entry=1) at transport.c:313
wine-mirror#16 0x0000000100623254 in get_refs_via_connect (transport=<optimized out>, for_push=<optimized out>, options=<optimized out>) at transport.c:360
wine-mirror#17 0x0000000100624f9c in transport_get_remote_refs (transport=transport@entry=0xa000038a0, transport_options=transport_options@entry=0x67dfc800) at transport.c:1474
wine-mirror#18 0x0000000100426005 in cmd_clone (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin/clone.c:1274
wine-mirror#19 0x0000000100401330 in run_builtin (p=0x10065a218 <commands+504>, argc=argc@entry=4, argv=argv@entry=0x67dfcc08) at git.c:445
wine-mirror#20 0x00000001004015e2 in handle_builtin (argc=4, argv=0x67dfcc08) at git.c:699
wine-mirror#21 0x0000000100402aa3 in run_argv (argcp=argcp@entry=0x67dfcb70, argv=argv@entry=0x67dfcb78) at git.c:763
wine-mirror#22 0x0000000100402f28 in cmd_main (argc=<optimized out>, argc@entry=5, argv=<optimized out>, argv@entry=0x67dfcc00) at git.c:898
wine-mirror#23 0x00000001004ce4d7 in main (argc=5, argv=0x67dfcc00) at common-main.c:57
@Neustradamus
Copy link

Dear @wine-mirror team,

I would like to know who manage this organization and this repository.

Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants