Initiate once, then wait only for EINPROGRESS. A failed connect never
reuses an indeterminate socket by trying the address again.
72def nativeSocketConnectStart =
73 (lambda unrestricted tail : (family X86NativeAssembly) .
74 (nativePhysicalNativeEmit
75 (nativePhysicalNativeMove
76 (constructor X86NativeRegister64 X86NativeRBX)
77 (constructor X86NativeRegister64 X86NativeRDI))
78 (nativePhysicalNativeEmit
79 (nativePhysicalNativeMove
80 (constructor X86NativeRegister64 X86NativeR12)
81 (constructor X86NativeRegister64 X86NativeRSI))
82 (nativePhysicalNativeEmit
83 (nativePhysicalNativeMove
84 (constructor X86NativeRegister64 X86NativeR13)
85 (constructor X86NativeRegister64 X86NativeRDX))
86 (nativePhysicalNativeEmit
87 (nativePhysicalNativeMoveImmediate32
88 (constructor X86NativeRegister64 X86NativeRAX)
89 (nativeSocketImmediate 42))
90 (nativePhysicalNativeEmit
91 nativePhysicalNativeSystemCallInstruction
92 (nativePhysicalNativeEmit
93 (nativePhysicalNativeTest
94 (constructor X86NativeRegister64 X86NativeRAX)
95 (constructor X86NativeRegister64 X86NativeRAX))
96 (nativePhysicalNativeJumpCondition
97 (constructor X86NativeCondition X86NativeConditionZero)
98 b"socket-return"
99 (nativePhysicalNativeEmit
100 (nativePhysicalNativeCompareImmediate
101 (constructor X86NativeRegister64 X86NativeRAX)
102 (nativeSocketImmediate (naturalSaturatingSubtract 4294967296 115)))
103 (nativePhysicalNativeJumpCondition
104 (constructor X86NativeCondition X86NativeConditionZero)
105 b"socket-loop"
106 (nativePhysicalNativeJump b"socket-return" tail)))))))))))The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.