--- a/Socket.st Wed Mar 04 10:00:32 2020 +0100
+++ b/Socket.st Wed Mar 04 17:07:17 2020 +0100
@@ -4036,6 +4036,7 @@
"
! !
+
!Socket methodsFor:'specials'!
linger:anIntegerOrNil
@@ -4512,12 +4513,6 @@
isSSLSocket
^ false
-!
-
-isSocket
- ^ true
-
- "Created: / 03-03-2020 / 15:52:09 / Stefan Vogel"
! !
!Socket methodsFor:'waiting'!
@@ -4564,8 +4559,7 @@
This method implements the inner wait-primitive of a multi-connection
server application."
-
- |wasBlocked sema timeoutMs|
+ |wasBlocked sema|
"first, a quick check if data is already available"
self canReadWithoutBlocking ifTrue:[
@@ -4579,23 +4573,15 @@
"check again - prevent incoming interrupts from disturbing our setup"
- secondsOrTimeDurationOrNil notNil ifTrue:[
- secondsOrTimeDurationOrNil isTimeDuration ifTrue:[
- timeoutMs := secondsOrTimeDurationOrNil getMilliseconds.
- ] ifFalse:[
- timeoutMs := secondsOrTimeDurationOrNil * 1000.
- ]
- ].
-
wasBlocked := OperatingSystem blockInterrupts.
[
- sema := Semaphore name:'multiReadWait'.
+ sema := Semaphore name:'Socket-multiReadWait'.
otherConnections do:[:aConnection |
Processor signal:sema onInput:(aConnection fileDescriptor).
].
Processor signal:sema onInput:(self fileDescriptor).
- timeoutMs notNil ifTrue:[
- Processor signal:sema afterMilliseconds:timeoutMs
+ secondsOrTimeDurationOrNil notNil ifTrue:[
+ Processor signal:sema after:secondsOrTimeDurationOrNil
].
Processor activeProcess state:#ioWait.
sema wait.
@@ -4620,6 +4606,7 @@
"Modified: / 09-08-2017 / 11:59:50 / cg"
"Modified: / 19-01-2018 / 18:59:17 / stefan"
+ "Modified: / 04-03-2020 / 14:35:04 / Stefan Vogel"
!
waitForNewConnectionWithTimeout:secondsOrTimeDurationOrNil