Roadshow cleanups, Wait Writing return code fixes
This commit is contained in:
parent
a1f57da200
commit
338ed94a77
Binary file not shown.
16
API.md
16
API.md
|
@ -123,9 +123,11 @@ a remote socket to send you data.
|
|||
|
||||
##### Returns
|
||||
|
||||
* 0 on timeout
|
||||
* -1,-2 on error
|
||||
* 1 on success
|
||||
* 0 on timeout.
|
||||
* -1 on error. Use `Socket Errno` for more detail.
|
||||
* -3 on the socket being sorta-ready. This isn't a connection timeout,
|
||||
so check again.
|
||||
* 1 on success.
|
||||
|
||||
#### RESULT=Socket Async Wait Writing(Socket, Wait_ms)
|
||||
|
||||
|
@ -135,9 +137,11 @@ has been completed.
|
|||
|
||||
##### Returns
|
||||
|
||||
* 0 on timeout
|
||||
* -1,-2 on error
|
||||
* 1 on success
|
||||
* 0 on timeout.
|
||||
* -1 on error. Use `Socket Errno` for more detail.
|
||||
* -3 on the socket being sorta-ready. This isn't a connection timeout,
|
||||
so check again.
|
||||
* 1 on success.
|
||||
|
||||
#### RESULT=Socket Set Timeout(Socket, Wait_ms)
|
||||
|
||||
|
|
|
@ -139,6 +139,11 @@ Doing something cool with the extension?
|
|||
most system-friendly way of doing this.
|
||||
* MiamiDX can be fiddly, at least it is on my MiSTer set up.
|
||||
If Internet connectivity is not working, try re-connecting to the network.
|
||||
* If using Roadshow, `bsdsocket.library` will always be available, so
|
||||
you can't use its presence or lack thereof to test if Internet is available.
|
||||
You'll have to use a combination of DNS lookups and/or connection
|
||||
timeouts using `Socket Async Wait Writing` to determine if the Internet
|
||||
is available.
|
||||
|
||||
## Versioning
|
||||
|
||||
|
|
|
@ -1576,6 +1576,7 @@ _DoSocketLibraryClose_Skip:
|
|||
;
|
||||
; @return
|
||||
; 1 on success
|
||||
; -1 on error, check Socket Errno
|
||||
; -2 on library not open
|
||||
; -3 on not interesting yet
|
||||
; 0 on timeout
|
||||
|
@ -1627,8 +1628,13 @@ _SocketWaitAsyncWriting_LibraryOpen:
|
|||
MOVE.L BSDSocketBase-MB(A4),A6
|
||||
CALLLIB WaitSelect
|
||||
|
||||
TST.L D0 ; timeout, pass through
|
||||
BPL _SocketWaitAsyncWriting_Done
|
||||
; returns:
|
||||
; * 0 on timeout
|
||||
; * >0 on socket was seen
|
||||
; * -1 on error
|
||||
TST.L D0
|
||||
BEQ _SocketWaitAsyncWriting_Timeout
|
||||
BMI _SocketWaitAsyncWriting_Error
|
||||
MOVE.L (SP)+,D0 ; D0 contains socket again
|
||||
|
||||
Dload A4
|
||||
|
@ -1669,6 +1675,7 @@ _SocketWaitAsyncWriting_CheckSockopt:
|
|||
TST.L D0
|
||||
BEQ _SocketWaitAsyncWriting_Ready
|
||||
|
||||
; still not ready
|
||||
MOVEM.L (SP)+,A3-A4
|
||||
MOVE.L #-3,D3
|
||||
|
||||
|
@ -1682,11 +1689,20 @@ _SocketWaitAsyncWriting_Ready:
|
|||
RestoreStackFunction
|
||||
Ret_Int
|
||||
|
||||
_SocketWaitAsyncWriting_Done:
|
||||
_SocketWaitAsyncWriting_Error:
|
||||
MOVE.L (SP)+,D1
|
||||
MOVEM.L (SP)+,A3-A4
|
||||
|
||||
MOVE.L D0,D3
|
||||
MOVE.L #-1,D3
|
||||
|
||||
RestoreStackFunction
|
||||
Ret_Int
|
||||
|
||||
_SocketWaitAsyncWriting_Timeout:
|
||||
MOVE.L (SP)+,D1
|
||||
MOVEM.L (SP)+,A3-A4
|
||||
|
||||
MOVEQ #0,D3
|
||||
|
||||
RestoreStackFunction
|
||||
Ret_Int
|
||||
|
|
Loading…
Reference in New Issue