Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ws2_32: Disable check for local socket handles.
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
- Loading branch information