Compare commits

..

No commits in common. "adb994efe63b31c160a2f1981de5268c3a39be1e" and "03b2a4db6e7904380130aebf0d5c331f54b01add" have entirely different histories.

6 changed files with 12 additions and 54 deletions

Binary file not shown.

16
API.md
View File

@ -123,9 +123,9 @@ a remote socket to send you data.
##### Returns
* 0 on timeout.
* -1 on error. Use `Socket Errno` for more detail.
* 1 on success.
* 0 on timeout
* -1,-2 on error
* 1 on success
#### RESULT=Socket Async Wait Writing(Socket, Wait_ms)
@ -135,13 +135,9 @@ has been completed.
##### Returns
* 0 on timeout.
* -1 on error. Use `Socket Errno` for more detail.
* -3 on the socket having an error.
* If you're using this function to test for a successful connection and
receive a -3, close and reopen the socket, otherwise subsequent
checks will return 1.
* 1 on success.
* 0 on timeout
* -1,-2 on error
* 1 on success
#### RESULT=Socket Set Timeout(Socket, Wait_ms)

View File

@ -50,10 +50,6 @@ Reserve As Work 30,1024
For I=1 To 100
If ALREADY_CONNECTED=-1
RESULT=Socket Wait Async Writing(SOCKET,100)
If RESULT=-3
Print "Socket connect failure!"
Exit
End If
If RESULT>0
ALREADY_CONNECTED=0
@ -143,11 +139,6 @@ 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
@ -176,11 +167,6 @@ to contact me.
* First public release
### 1.0.1 (2023-04-04)
* Fix bug in Socket Wait Async Writing where result of getsockopt was
incorrectly used.
## Development
### Environment

Binary file not shown.

View File

@ -52,10 +52,6 @@ For I=1 To 100
If RESULT>0
ALREADY_CONNECTED=0
End If
If RESULT=-3
Print "Unrecoverable error!"
Exit
End If
End If
If ALREADY_CONNECTED=0

View File

@ -7,7 +7,7 @@
; extension number 18
ExtNb equ 18-1
Version MACRO
dc.b "1.0.1-20230403"
dc.b "1.0.0-20230401"
ENDM
VerNumber equ $1
@ -1576,7 +1576,6 @@ _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
@ -1628,13 +1627,8 @@ _SocketWaitAsyncWriting_LibraryOpen:
MOVE.L BSDSocketBase-MB(A4),A6
CALLLIB WaitSelect
; returns:
; * 0 on timeout
; * >0 on socket was seen
; * -1 on error
TST.L D0
BEQ _SocketWaitAsyncWriting_Timeout
BMI _SocketWaitAsyncWriting_Error
TST.L D0 ; timeout, pass through
BPL _SocketWaitAsyncWriting_Done
MOVE.L (SP)+,D0 ; D0 contains socket again
Dload A4
@ -1673,13 +1667,8 @@ _SocketWaitAsyncWriting_CheckSockopt:
MOVE.L (SP)+,A3
TST.L D0
BMI _SocketWaitAsyncWriting_Error
BPL _SocketWaitAsyncWriting_Ready
Dlea IoctlSockOptScratch,A0
MOVE.L (A0),D0
BEQ _SocketWaitAsyncWriting_Ready
; still not ready
MOVEM.L (SP)+,A3-A4
MOVE.L #-3,D3
@ -1693,20 +1682,11 @@ _SocketWaitAsyncWriting_Ready:
RestoreStackFunction
Ret_Int
_SocketWaitAsyncWriting_Error:
_SocketWaitAsyncWriting_Done:
MOVE.L (SP)+,D1
MOVEM.L (SP)+,A3-A4
MOVE.L #-1,D3
RestoreStackFunction
Ret_Int
_SocketWaitAsyncWriting_Timeout:
MOVE.L (SP)+,D1
MOVEM.L (SP)+,A3-A4
MOVEQ #0,D3
MOVE.L D0,D3
RestoreStackFunction
Ret_Int