defer fd.writeUnlock()
o := &fd.wop
- if o.rsa == nil {
- o.rsa = new(syscall.RawSockaddrAny)
- }
- var nameLen int32
+ msg := newWSAMsg(p, oob, 0)
if sa != nil {
- nameLen = sockaddrInet4ToRaw(o.rsa, sa)
+ if o.rsa == nil {
+ o.rsa = new(syscall.RawSockaddrAny)
+ }
+ msg.Name = (syscall.Pointer)(unsafe.Pointer(o.rsa))
+ msg.Namelen = sockaddrInet4ToRaw(o.rsa, sa)
}
- msg := newWSAMsg(p, oob, 0)
- msg.Name = (syscall.Pointer)(unsafe.Pointer(o.rsa))
- msg.Namelen = nameLen
n, err := fd.execIO(o, func(o *operation) (qty uint32, err error) {
err = windows.WSASendMsg(fd.Sysfd, &msg, 0, nil, &o.o, nil)
return qty, err
defer fd.writeUnlock()
o := &fd.wop
- if o.rsa == nil {
- o.rsa = new(syscall.RawSockaddrAny)
- }
msg := newWSAMsg(p, oob, 0)
- var nameLen int32
if sa != nil {
- nameLen = sockaddrInet6ToRaw(o.rsa, sa)
+ if o.rsa == nil {
+ o.rsa = new(syscall.RawSockaddrAny)
+ }
+ msg.Name = (syscall.Pointer)(unsafe.Pointer(o.rsa))
+ msg.Namelen = sockaddrInet6ToRaw(o.rsa, sa)
}
- msg.Name = (syscall.Pointer)(unsafe.Pointer(o.rsa))
- msg.Namelen = nameLen
n, err := fd.execIO(o, func(o *operation) (qty uint32, err error) {
err = windows.WSASendMsg(fd.Sysfd, &msg, 0, nil, &o.o, nil)
return qty, err