--- a/Win32OperatingSystem.st Mon Mar 11 13:47:59 2013 +0100
+++ b/Win32OperatingSystem.st Mon Mar 11 14:47:26 2013 +0100
@@ -177,7 +177,7 @@
#include "stxOSDefs.h"
#include <Ws2TcpIp.h> // needed for getNameInfo() et al
-
+
# ifdef COMPILE_FOR_WIN95
/*
* ensure that ST/X runs on NT, 95 and 98
@@ -6804,9 +6804,9 @@
list size == 0 ifTrue:[^ self ].
processGroupHandleOrPid isInteger ifTrue:[
- pid := processGroupHandleOrPid
+ pid := processGroupHandleOrPid
] ifFalse:[
- pid := processGroupHandleOrPid pid.
+ pid := processGroupHandleOrPid pid.
].
groupsToTerminate := Set with:pid.
list := list asSet.
@@ -6814,19 +6814,19 @@
"/ Transcript show:'terminate group '; showCR:pid.
anyMore := true.
[anyMore] whileTrue:[
- anyMore := false.
- list do:[:anOSProcess |
- |pid|
-
- (groupsToTerminate includes:anOSProcess parentPid) ifTrue:[
- pid := anOSProcess pid.
- groupsToTerminate add:pid.
- "/ Transcript show:'terminate '; showCR:pid.
- self terminateProcess:( pid ).
- list remove:anOSProcess.
- anyMore := true.
- ].
- ].
+ anyMore := false.
+ list do:[:anOSProcess |
+ |pid|
+
+ (groupsToTerminate includes:anOSProcess parentPid) ifTrue:[
+ pid := anOSProcess pid.
+ groupsToTerminate add:pid.
+ "/ Transcript show:'terminate '; showCR:pid.
+ self terminateProcess:( pid ).
+ list remove:anOSProcess.
+ anyMore := true.
+ ].
+ ].
].
! !
@@ -15929,14 +15929,14 @@
# ifdef DO_WRAP_CALLS
do {
__threadErrno = 0;
- res = STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info);
- } while ((res < 0) && (__threadErrno == EINTR));
+ ret = STX_WSA_NOINT_CALL4( "getaddrinfo", getaddrinfo, __hostName, __serviceName, &hints, &info);
+ } while ((ret < 0) && (__threadErrno == EINTR));
# else
__BEGIN_INTERRUPTABLE__
ret = getaddrinfo(__hostName, __serviceName, &hints, &info);
__END_INTERRUPTABLE__
# endif
- } while (ret == EAI_SYSTEM && errno == EINTR);
+ } while (ret != 0 && __threadErrno == EINTR);
if (ret != 0) {
switch (ret) {
case EAI_FAMILY:
@@ -15954,12 +15954,6 @@
case EAI_SERVICE:
error = @symbol(unknownService);
break;
- case EAI_ADDRFAMILY :
- error = @symbol(unknownHostForProtocol);
- break;
- case EAI_NODATA:
- error = @symbol(noAddress);
- break;
case EAI_MEMORY:
error = @symbol(allocationFailure);
break;
@@ -15969,9 +15963,6 @@
case EAI_AGAIN:
error = @symbol(tryAgain);
break;
- case EAI_SYSTEM:
- error = @symbol(systemError);
- break;
default:
error = @symbol(unknownError);
}
@@ -16306,11 +16297,19 @@
{
bp = (char *)(__byteArrayVal(socketAddress));
bp += nInstBytes;
+# ifdef DO_WRAP_CALLS
+ do {
+ __threadErrno = 0;
+ ret = STX_WSA_NOINT_CALL7( "getnameinfo", getnameinfo, (struct sockaddr *)bp, sockAddrSize, hp, hsz, sp, ssz, __flags);
+ } while ((ret < 0) && (__threadErrno == EINTR));
+# else
__BEGIN_INTERRUPTABLE__
ret = getnameinfo((struct sockaddr *)bp, sockAddrSize,
hp, hsz, sp, ssz, __flags);
__END_INTERRUPTABLE__
- } while (ret == EAI_SYSTEM && errno == EINTR);
+# endif
+ } while (ret != 0 && __threadErrno == EINTR);
+
if (ret != 0) {
switch (ret) {
case EAI_FAMILY:
@@ -16328,12 +16327,6 @@
case EAI_SERVICE:
error = @symbol(unknownService);
break;
- case EAI_ADDRFAMILY :
- error = @symbol(unknownHostForProtocol);
- break;
- case EAI_NODATA:
- error = @symbol(noAddress);
- break;
case EAI_MEMORY:
error = @symbol(allocationFailure);
break;
@@ -16343,9 +16336,6 @@
case EAI_AGAIN:
error = @symbol(tryAgain);
break;
- case EAI_SYSTEM:
- error = @symbol(systemError);
- break;
default:
error = @symbol(unknownError);
}
@@ -16531,11 +16521,11 @@
!Win32OperatingSystem class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.454 2013-03-11 10:18:23 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.455 2013-03-11 13:47:26 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.454 2013-03-11 10:18:23 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Win32OperatingSystem.st,v 1.455 2013-03-11 13:47:26 stefan Exp $'
!
version_SVN