Change CONNECT-SOCKET to pass underlying file descriptor to SELECT to
prevent SELECT non-blocking because there's space in the buffer.
This commit is contained in:
parent
a206e4f70a
commit
a73f146a23
|
@ -241,7 +241,11 @@
|
||||||
(if (car error?.einprogress?)
|
(if (car error?.einprogress?)
|
||||||
(if (cdr error?.einprogress?)
|
(if (cdr error?.einprogress?)
|
||||||
(begin
|
(begin
|
||||||
(select '#() (vector (socket:outport sock)) '#())
|
(select '#()
|
||||||
|
(vector (fdport-data:fd
|
||||||
|
(fdport-data
|
||||||
|
(socket:outport sock))))
|
||||||
|
'#())
|
||||||
;; If connect returned EINPROGRESS, we can check
|
;; If connect returned EINPROGRESS, we can check
|
||||||
;; it's success after the next success with getsockopt
|
;; it's success after the next success with getsockopt
|
||||||
(let ((val (socket-option sock
|
(let ((val (socket-option sock
|
||||||
|
|
Loading…
Reference in New Issue