diff -r c7e4edd352f8 -r 813f1c2c49ca Win32OperatingSystem.st --- a/Win32OperatingSystem.st Tue Nov 24 12:16:43 2015 +0100 +++ b/Win32OperatingSystem.st Wed Nov 25 19:42:31 2015 +0100 @@ -278,15 +278,15 @@ # define _FCNTL_H_INCLUDED_ # endif -/* # define PROCESSDEBUGWIN32 /* */ -/* # define PROCESS1DEBUGWIN32 /* */ -/* # define PROCESS2DEBUGWIN32 /* */ -/* # define PROCESSDEBUG_CHILDPROCESSWAIT /* */ -/* # define SELECTDEBUGWIN32 /* */ -/* # define SELECT1DEBUGWIN32 /* */ -/* # define SELECT2DEBUGWIN32 /* */ -/* # define WAITDEBUGWIN32 /* */ -/* # define SIGNALDEBUGWIN32 /* */ +// # define PROCESSDEBUGWIN32 +// # define PROCESS1DEBUGWIN32 +// # define PROCESS2DEBUGWIN32 +// # define PROCESSDEBUG_CHILDPROCESSWAIT +// # define SELECTDEBUGWIN32 +// # define SELECT1DEBUGWIN32 +// # define SELECT2DEBUGWIN32 +// # define WAITDEBUGWIN32 +// # define SIGNALDEBUGWIN32 # undef INT # undef UINT @@ -1754,854 +1754,872 @@ int __eno = __unsignedLongIntVal(errNr); if (__isWIN32Error(__eno)) { - switch (__eno & 0xFFFF) { - /* - * WIN32 GetLastError returns - */ - case ERROR_INVALID_FUNCTION: - sym = @symbol(ERROR_INVALID_FUNCTION); - typ = @symbol(illegalOperationSignal); - break; - - case ERROR_BAD_FORMAT: - sym = @symbol(ERROR_BAD_FORMAT); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_FILE_NOT_FOUND: - sym = @symbol(ERROR_FILE_NOT_FOUND); - typ = @symbol(nonexistentSignal); - break; - - case ERROR_PATH_NOT_FOUND: - sym = @symbol(ERROR_PATH_NOT_FOUND); - typ = @symbol(nonexistentSignal); - break; - - case ERROR_TOO_MANY_OPEN_FILES: - sym = @symbol(ERROR_TOO_MANY_OPEN_FILES); - typ = @symbol(noResourcesSignal); - break; - - /* - * what a nice errorCode - thats the most "useful" one I ever - * encountered ... (... those stupid micro-softies ...) - */ - case ERROR_OPEN_FAILED: - sym = @symbol(ERROR_OPEN_FAILED); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_ACCESS_DENIED: - sym = @symbol(ERROR_ACCESS_DENIED); - typ = @symbol(noPermissionsSignal); - break; - - case ERROR_INVALID_HANDLE: - sym = @symbol(ERROR_INVALID_HANDLE); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_NOT_ENOUGH_MEMORY: - sym = @symbol(ERROR_NOT_ENOUGH_MEMORY); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NO_SYSTEM_RESOURCES: - sym = @symbol(ERROR_NO_SYSTEM_RESOURCES); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NONPAGED_SYSTEM_RESOURCES: - sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_PAGED_SYSTEM_RESOURCES: - sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_INVALID_ACCESS: - sym = @symbol(ERROR_INVALID_ACCESS); - typ = @symbol(inappropriateOperationSignal); - break; - - case ERROR_INVALID_DATA: - sym = @symbol(ERROR_INVALID_DATA); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_INVALID_NAME: - sym = @symbol(ERROR_INVALID_NAME); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_ARENA_TRASHED: - sym = @symbol(ERROR_ARENA_TRASHED); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_OUTOFMEMORY: - sym = @symbol(ERROR_OUTOFMEMORY); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_BROKEN_PIPE: - sym = @symbol(ERROR_BROKEN_PIPE); - typ = @symbol(peerFaultSignal); - break; - - case ERROR_GEN_FAILURE: - sym = @symbol(ERROR_GEN_FAILURE); - break; - - case ERROR_WRITE_PROTECT: - sym = @symbol(ERROR_WRITE_PROTECT); - typ = @symbol(inappropriateOperationSignal); - break; - - case ERROR_WRITE_FAULT: - sym = @symbol(ERROR_WRITE_FAULT); - typ = @symbol(transferFaultSignal); - break; - - case ERROR_READ_FAULT: - sym = @symbol(ERROR_READ_FAULT); - typ = @symbol(transferFaultSignal); - break; - - case ERROR_HANDLE_DISK_FULL: - sym = @symbol(ERROR_HANDLE_DISK_FULL); - typ = @symbol(volumeFullSignal); - break; - - case ERROR_DISK_FULL: - sym = @symbol(ERROR_DISK_FULL); - typ = @symbol(volumeFullSignal); - break; - - case ERROR_SHARING_VIOLATION: - sym = @symbol(ERROR_SHARING_VIOLATION); - typ = @symbol(noPermissionsSignal); - break; - - case ERROR_LOCK_VIOLATION: - sym = @symbol(ERROR_LOCK_VIOLATION); - typ = @symbol(noPermissionsSignal); - break; - - case ERROR_INVALID_PARAMETER: - sym = @symbol(ERROR_INVALID_PARAMETER); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_NET_WRITE_FAULT: - sym = @symbol(ERROR_NET_WRITE_FAULT); - typ = @symbol(transferFaultSignal); - break; - - case ERROR_NOT_SUPPORTED: - sym = @symbol(ERROR_NOT_SUPPORTED); - typ = @symbol(inappropriateOperationSignal); - break; - - case ERROR_REM_NOT_LIST: - sym = @symbol(ERROR_REM_NOT_LIST); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NETWORK_ACCESS_DENIED: - sym = @symbol(ERROR_NETWORK_ACCESS_DENIED); - typ = @symbol(noPermissionsSignal); - break; - - case ERROR_DUP_NAME: - sym = @symbol(ERROR_DUP_NAME); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_BAD_NETPATH: - sym = @symbol(ERROR_BAD_NETPATH); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NETWORK_BUSY: - sym = @symbol(ERROR_NETWORK_BUSY); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_DRIVE_LOCKED: - sym = @symbol(ERROR_DRIVE_LOCKED); - typ = @symbol(inappropriateOperationSignal); - break; - - case ERROR_INVALID_DRIVE: - sym = @symbol(ERROR_INVALID_DRIVE); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_WRONG_DISK: - sym = @symbol(ERROR_WRONG_DISK); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_CURRENT_DIRECTORY: - sym = @symbol(ERROR_CURRENT_DIRECTORY); - typ = @symbol(invalidArgumentsSignal); - break; - - /* - * what a nice errorCode - thats the most "useful" one I ever - * encountered ... (... those stupid micro-softies ...) - */ - case ERROR_CANNOT_MAKE: - sym = @symbol(ERROR_CANNOT_MAKE); - typ = @symbol(inappropriateOperationSignal); - break; - - case ERROR_NO_MORE_FILES: - sym = @symbol(ERROR_NO_MORE_FILES); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NOT_READY: - sym = @symbol(ERROR_NOT_READY); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_NOT_DOS_DISK: - sym = @symbol(ERROR_NOT_DOS_DISK); - typ = @symbol(invalidArgumentsSignal); - break; - - case ERROR_OUT_OF_PAPER: - sym = @symbol(ERROR_OUT_OF_PAPER); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_PRINTQ_FULL: - sym = @symbol(ERROR_PRINTQ_FULL); - typ = @symbol(noResourcesSignal); - break; - - case ERROR_FILE_EXISTS: - sym = @symbol(ERROR_FILE_EXISTS); - typ = @symbol(existingReferentSignal); - break; - - default: - break; - } + switch (__eno & 0xFFFF) { + /* + * WIN32 GetLastError returns + */ + case ERROR_INVALID_FUNCTION: + sym = @symbol(ERROR_INVALID_FUNCTION); + typ = @symbol(illegalOperationSignal); + break; + + case ERROR_BAD_FORMAT: + sym = @symbol(ERROR_BAD_FORMAT); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_FILE_NOT_FOUND: + sym = @symbol(ERROR_FILE_NOT_FOUND); + typ = @symbol(nonexistentSignal); + break; + + case ERROR_PATH_NOT_FOUND: + sym = @symbol(ERROR_PATH_NOT_FOUND); + typ = @symbol(nonexistentSignal); + break; + + case ERROR_TOO_MANY_OPEN_FILES: + sym = @symbol(ERROR_TOO_MANY_OPEN_FILES); + typ = @symbol(noResourcesSignal); + break; + + /* + * what a nice errorCode - thats the most "useful" one I ever + * encountered ... (... those stupid micro-softies ...) + */ + case ERROR_OPEN_FAILED: + sym = @symbol(ERROR_OPEN_FAILED); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_ACCESS_DENIED: + sym = @symbol(ERROR_ACCESS_DENIED); + typ = @symbol(noPermissionsSignal); + break; + + case ERROR_INVALID_HANDLE: + sym = @symbol(ERROR_INVALID_HANDLE); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_NOT_ENOUGH_MEMORY: + sym = @symbol(ERROR_NOT_ENOUGH_MEMORY); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NO_SYSTEM_RESOURCES: + sym = @symbol(ERROR_NO_SYSTEM_RESOURCES); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NONPAGED_SYSTEM_RESOURCES: + sym = @symbol(ERROR_NONPAGED_SYSTEM_RESOURCES); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_PAGED_SYSTEM_RESOURCES: + sym = @symbol(ERROR_PAGED_SYSTEM_RESOURCES); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_INVALID_ACCESS: + sym = @symbol(ERROR_INVALID_ACCESS); + typ = @symbol(inappropriateOperationSignal); + break; + + case ERROR_INVALID_DATA: + sym = @symbol(ERROR_INVALID_DATA); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_INVALID_NAME: + sym = @symbol(ERROR_INVALID_NAME); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_ARENA_TRASHED: + sym = @symbol(ERROR_ARENA_TRASHED); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_OUTOFMEMORY: + sym = @symbol(ERROR_OUTOFMEMORY); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_BROKEN_PIPE: + sym = @symbol(ERROR_BROKEN_PIPE); + typ = @symbol(peerFaultSignal); + break; + + case ERROR_GEN_FAILURE: + sym = @symbol(ERROR_GEN_FAILURE); + break; + + case ERROR_WRITE_PROTECT: + sym = @symbol(ERROR_WRITE_PROTECT); + typ = @symbol(inappropriateOperationSignal); + break; + + case ERROR_WRITE_FAULT: + sym = @symbol(ERROR_WRITE_FAULT); + typ = @symbol(transferFaultSignal); + break; + + case ERROR_READ_FAULT: + sym = @symbol(ERROR_READ_FAULT); + typ = @symbol(transferFaultSignal); + break; + + case ERROR_HANDLE_DISK_FULL: + sym = @symbol(ERROR_HANDLE_DISK_FULL); + typ = @symbol(volumeFullSignal); + break; + + case ERROR_DISK_FULL: + sym = @symbol(ERROR_DISK_FULL); + typ = @symbol(volumeFullSignal); + break; + + case ERROR_SHARING_VIOLATION: + sym = @symbol(ERROR_SHARING_VIOLATION); + typ = @symbol(noPermissionsSignal); + break; + + case ERROR_LOCK_VIOLATION: + sym = @symbol(ERROR_LOCK_VIOLATION); + typ = @symbol(noPermissionsSignal); + break; + + case ERROR_INVALID_PARAMETER: + sym = @symbol(ERROR_INVALID_PARAMETER); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_NET_WRITE_FAULT: + sym = @symbol(ERROR_NET_WRITE_FAULT); + typ = @symbol(transferFaultSignal); + break; + + case ERROR_NOT_SUPPORTED: + sym = @symbol(ERROR_NOT_SUPPORTED); + typ = @symbol(inappropriateOperationSignal); + break; + + case ERROR_REM_NOT_LIST: + sym = @symbol(ERROR_REM_NOT_LIST); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NETWORK_ACCESS_DENIED: + sym = @symbol(ERROR_NETWORK_ACCESS_DENIED); + typ = @symbol(noPermissionsSignal); + break; + + case ERROR_DUP_NAME: + sym = @symbol(ERROR_DUP_NAME); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_BAD_NETPATH: + sym = @symbol(ERROR_BAD_NETPATH); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NETWORK_BUSY: + sym = @symbol(ERROR_NETWORK_BUSY); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_DRIVE_LOCKED: + sym = @symbol(ERROR_DRIVE_LOCKED); + typ = @symbol(inappropriateOperationSignal); + break; + + case ERROR_INVALID_DRIVE: + sym = @symbol(ERROR_INVALID_DRIVE); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_WRONG_DISK: + sym = @symbol(ERROR_WRONG_DISK); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_CURRENT_DIRECTORY: + sym = @symbol(ERROR_CURRENT_DIRECTORY); + typ = @symbol(invalidArgumentsSignal); + break; + + /* + * what a nice errorCode - thats the most "useful" one I ever + * encountered ... (... those stupid micro-softies ...) + */ + case ERROR_CANNOT_MAKE: + sym = @symbol(ERROR_CANNOT_MAKE); + typ = @symbol(inappropriateOperationSignal); + break; + + case ERROR_NO_MORE_FILES: + sym = @symbol(ERROR_NO_MORE_FILES); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NOT_READY: + sym = @symbol(ERROR_NOT_READY); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_NOT_DOS_DISK: + sym = @symbol(ERROR_NOT_DOS_DISK); + typ = @symbol(invalidArgumentsSignal); + break; + + case ERROR_OUT_OF_PAPER: + sym = @symbol(ERROR_OUT_OF_PAPER); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_PRINTQ_FULL: + sym = @symbol(ERROR_PRINTQ_FULL); + typ = @symbol(noResourcesSignal); + break; + + case ERROR_FILE_EXISTS: + sym = @symbol(ERROR_FILE_EXISTS); + typ = @symbol(existingReferentSignal); + break; + + default: + break; + } } else { - switch (__eno) { - /* - * POSIX errnos - these should be defined - */ + switch (__eno) { + /* + * POSIX errnos - these should be defined + */ #ifdef EPERM - case EPERM: - sym = @symbol(EPERM); - typ = @symbol(noPermissionsSignal); - break; + case EPERM: + sym = @symbol(EPERM); + typ = @symbol(noPermissionsSignal); + break; #endif #ifdef ENOENT - case ENOENT: - sym = @symbol(ENOENT); - typ = @symbol(nonexistentSignal); - break; + case ENOENT: + sym = @symbol(ENOENT); + typ = @symbol(nonexistentSignal); + break; #endif #ifdef ESRCH - case ESRCH: - sym = @symbol(ESRCH); - typ = @symbol(unavailableReferentSignal); - break; + case ESRCH: + sym = @symbol(ESRCH); + typ = @symbol(unavailableReferentSignal); + break; #endif #ifdef EINTR - case EINTR: - sym = @symbol(EINTR); - typ = @symbol(transientErrorSignal); - break; + case EINTR: + sym = @symbol(EINTR); + typ = @symbol(transientErrorSignal); + break; #endif #ifdef EIO - case EIO: - sym = @symbol(EIO); - typ = @symbol(transferFaultSignal); - break; + case EIO: + sym = @symbol(EIO); + typ = @symbol(transferFaultSignal); + break; #endif #ifdef ENXIO - case ENXIO: - sym = @symbol(ENXIO); - typ = @symbol(unavailableReferentSignal); - break; + case ENXIO: + sym = @symbol(ENXIO); + typ = @symbol(unavailableReferentSignal); + break; #endif #ifdef E2BIG - case E2BIG: - sym = @symbol(E2BIG); - typ = @symbol(invalidArgumentsSignal); - break; + case E2BIG: + sym = @symbol(E2BIG); + typ = @symbol(invalidArgumentsSignal); + break; #endif #ifdef ENOEXEC - case ENOEXEC: - sym = @symbol(ENOEXEC); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOEXEC: + sym = @symbol(ENOEXEC); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EBADF - case EBADF: - sym = @symbol(EBADF); - typ = @symbol(badAccessorSignal); - break; + case EBADF: + sym = @symbol(EBADF); + typ = @symbol(badAccessorSignal); + break; #endif #ifdef ECHILD - case ECHILD: - sym = @symbol(ECHILD); - typ = @symbol(informationSignal); - break; + case ECHILD: + sym = @symbol(ECHILD); + typ = @symbol(informationSignal); + break; #endif #if !defined(EWOULDBLOCK) && defined(EAGAIN) && (EWOULDBLOCK != EAGAIN) - case EAGAIN: - sym = @symbol(EAGAIN); - typ = @symbol(notReadySignal); - break; + case EAGAIN: + sym = @symbol(EAGAIN); + typ = @symbol(notReadySignal); + break; #endif #ifdef ENOMEM - case ENOMEM: - sym = @symbol(ENOMEM); - typ = @symbol(noMemorySignal); - break; + case ENOMEM: + sym = @symbol(ENOMEM); + typ = @symbol(noMemorySignal); + break; #endif #ifdef EACCES - case EACCES: - sym = @symbol(EACCES); - typ = @symbol(noPermissionsSignal); - break; + case EACCES: + sym = @symbol(EACCES); + typ = @symbol(noPermissionsSignal); + break; #endif #ifdef EFAULT - case EFAULT: - sym = @symbol(EFAULT); - typ = @symbol(invalidArgumentsSignal); - break; + case EFAULT: + sym = @symbol(EFAULT); + typ = @symbol(invalidArgumentsSignal); + break; #endif #ifdef EBUSY - case EBUSY: - sym = @symbol(EBUSY); - typ = @symbol(unavailableReferentSignal); - break; + case EBUSY: + sym = @symbol(EBUSY); + typ = @symbol(unavailableReferentSignal); + break; #endif #ifdef EEXIST - case EEXIST: - sym = @symbol(EEXIST); - typ = @symbol(existingReferentSignal); - break; + case EEXIST: + sym = @symbol(EEXIST); + typ = @symbol(existingReferentSignal); + break; #endif #ifdef EXDEV - case EXDEV: - sym = @symbol(EXDEV); - typ = @symbol(inappropriateReferentSignal); - break; + case EXDEV: + sym = @symbol(EXDEV); + typ = @symbol(inappropriateReferentSignal); + break; #endif #ifdef ENODEV - case ENODEV: - sym = @symbol(ENODEV); - typ = @symbol(inaccessibleSignal); - break; + case ENODEV: + sym = @symbol(ENODEV); + typ = @symbol(inaccessibleSignal); + break; #endif #ifdef ENOTDIR - case ENOTDIR: - sym = @symbol(ENOTDIR); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOTDIR: + sym = @symbol(ENOTDIR); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EISDIR - case EISDIR: - sym = @symbol(EISDIR); - typ = @symbol(inappropriateOperationSignal); - break; + case EISDIR: + sym = @symbol(EISDIR); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EINVAL - case EINVAL: - sym = @symbol(EINVAL); - typ = @symbol(invalidArgumentsSignal); - break; + case EINVAL: + sym = @symbol(EINVAL); + typ = @symbol(invalidArgumentsSignal); + break; #endif #ifdef ENFILE - case ENFILE: - sym = @symbol(ENFILE); - typ = @symbol(noResourcesSignal); - break; + case ENFILE: + sym = @symbol(ENFILE); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef EMFILE - case EMFILE: - sym = @symbol(EMFILE); - typ = @symbol(noResourcesSignal); - break; + case EMFILE: + sym = @symbol(EMFILE); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef ENOTTY - case ENOTTY: - sym = @symbol(ENOTTY); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOTTY: + sym = @symbol(ENOTTY); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EFBIG - case EFBIG: - sym = @symbol(EFBIG); - typ = @symbol(noResourcesSignal); - break; + case EFBIG: + sym = @symbol(EFBIG); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef ENOSPC - case ENOSPC: - sym = @symbol(ENOSPC); - typ = @symbol(noResourcesSignal); - break; + case ENOSPC: + sym = @symbol(ENOSPC); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef ESPIPE - case ESPIPE: - sym = @symbol(ESPIPE); - typ = @symbol(inappropriateOperationSignal); - break; + case ESPIPE: + sym = @symbol(ESPIPE); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EROFS - case EROFS: - sym = @symbol(EROFS); - typ = @symbol(inappropriateOperationSignal); - break; + case EROFS: + sym = @symbol(EROFS); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EMLINK - case EMLINK: - sym = @symbol(EMLINK); - typ = @symbol(rangeErrorSignal); - break; + case EMLINK: + sym = @symbol(EMLINK); + typ = @symbol(rangeErrorSignal); + break; #endif #ifdef EPIPE - case EPIPE: - sym = @symbol(EPIPE); - typ = @symbol(peerFaultSignal); - break; + case EPIPE: + sym = @symbol(EPIPE); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef EDOM - case EDOM: - sym = @symbol(EDOM); - typ = @symbol(rangeErrorSignal); - break; + case EDOM: + sym = @symbol(EDOM); + typ = @symbol(rangeErrorSignal); + break; #endif #ifdef ERANGE - case ERANGE: - sym = @symbol(ERANGE); - typ = @symbol(rangeErrorSignal); - break; + case ERANGE: + sym = @symbol(ERANGE); + typ = @symbol(rangeErrorSignal); + break; #endif #ifdef EDEADLK # if EDEADLK != EWOULDBLOCK - case EDEADLK: - sym = @symbol(EDEADLK); - typ = @symbol(noResourcesSignal); - break; + case EDEADLK: + sym = @symbol(EDEADLK); + typ = @symbol(noResourcesSignal); + break; # endif #endif #ifdef ENAMETOOLONG - case ENAMETOOLONG: - sym = @symbol(ENAMETOOLONG); - typ = @symbol(rangeErrorSignal); - break; + case ENAMETOOLONG: + sym = @symbol(ENAMETOOLONG); + typ = @symbol(rangeErrorSignal); + break; #endif #ifdef ENOLCK - case ENOLCK: - sym = @symbol(ENOLCK); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOLCK: + sym = @symbol(ENOLCK); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef ENOSYS - case ENOSYS: - sym = @symbol(ENOSYS); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOSYS: + sym = @symbol(ENOSYS); + typ = @symbol(inappropriateOperationSignal); + break; #endif #if defined(ENOTEMPTY) && (ENOTEMPTY != EEXIST) - case ENOTEMPTY: - sym = @symbol(ENOTEMPTY); - typ = @symbol(inappropriateReferentSignal); - break; + case ENOTEMPTY: + sym = @symbol(ENOTEMPTY); + typ = @symbol(inappropriateReferentSignal); + break; #endif #ifdef EILSEQ - case EILSEQ: - sym = @symbol(EILSEQ); - typ = @symbol(transferFaultSignal); - break; -#endif - /* - * XPG3 errnos - defined on most systems - */ + case EILSEQ: + sym = @symbol(EILSEQ); + typ = @symbol(transferFaultSignal); + break; +#endif + /* + * XPG3 errnos - defined on most systems + */ #ifdef ENOTBLK - case ENOTBLK: - sym = @symbol(ENOTBLK); - typ = @symbol(inappropriateReferentSignal); - break; + case ENOTBLK: + sym = @symbol(ENOTBLK); + typ = @symbol(inappropriateReferentSignal); + break; #endif #ifdef ETXTBSY - case ETXTBSY: - sym = @symbol(ETXTBSY); - typ = @symbol(inaccessibleSignal); - break; -#endif - /* - * some others - */ + case ETXTBSY: + sym = @symbol(ETXTBSY); + typ = @symbol(inaccessibleSignal); + break; +#endif + /* + * some others + */ #ifdef EWOULDBLOCK - case EWOULDBLOCK: - sym = @symbol(EWOULDBLOCK); - typ = @symbol(notReadySignal); - break; + case EWOULDBLOCK: + sym = @symbol(EWOULDBLOCK); + typ = @symbol(notReadySignal); + break; #endif #ifdef ENOMSG - case ENOMSG: - sym = @symbol(ENOMSG); - typ = @symbol(noDataSignal); - break; + case ENOMSG: + sym = @symbol(ENOMSG); + typ = @symbol(noDataSignal); + break; #endif #ifdef ELOOP - case ELOOP: - sym = @symbol(ELOOP); - typ = @symbol(rangeErrorSignal); - break; -#endif - - /* - * some stream errors - */ + case ELOOP: + sym = @symbol(ELOOP); + typ = @symbol(rangeErrorSignal); + break; +#endif + + /* + * some stream errors + */ #ifdef ETIME - case ETIME: - sym = @symbol(ETIME); - typ = @symbol(peerFaultSignal); - break; + case ETIME: + sym = @symbol(ETIME); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ENOSR - case ENOSR: - sym = @symbol(ENOSR); - typ = @symbol(noResourcesSignal); - break; + case ENOSR: + sym = @symbol(ENOSR); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef ENOSTR - case ENOSTR: - sym = @symbol(ENOSTR); - typ = @symbol(inappropriateReferentSignal); - break; + case ENOSTR: + sym = @symbol(ENOSTR); + typ = @symbol(inappropriateReferentSignal); + break; #endif #ifdef ECOMM - case ECOMM: - sym = @symbol(ECOMM); - typ = @symbol(transferFaultSignal); - break; + case ECOMM: + sym = @symbol(ECOMM); + typ = @symbol(transferFaultSignal); + break; #endif #ifdef EPROTO - case EPROTO: - sym = @symbol(EPROTO); - typ = @symbol(inappropriateOperationSignal); - break; -#endif - /* - * nfs errors - */ + case EPROTO: + sym = @symbol(EPROTO); + typ = @symbol(inappropriateOperationSignal); + break; +#endif + /* + * nfs errors + */ #ifdef ESTALE - case ESTALE: - sym = @symbol(ESTALE); - typ = @symbol(unavailableReferentSignal); - break; + case ESTALE: + sym = @symbol(ESTALE); + typ = @symbol(unavailableReferentSignal); + break; #endif #ifdef EREMOTE - case EREMOTE: - sym = @symbol(EREMOTE); - typ = @symbol(rangeErrorSignal); - break; -#endif - /* - * some networking errors - */ + case EREMOTE: + sym = @symbol(EREMOTE); + typ = @symbol(rangeErrorSignal); + break; +#endif + /* + * some networking errors + */ #ifdef EINPROGRESS - case EINPROGRESS: - sym = @symbol(EINPROGRESS); - typ = @symbol(operationStartedSignal); - break; + case EINPROGRESS: + sym = @symbol(EINPROGRESS); + typ = @symbol(operationStartedSignal); + break; #endif #ifdef EALREADY - case EALREADY: - sym = @symbol(EALREADY); - typ = @symbol(operationStartedSignal); - break; + case EALREADY: + sym = @symbol(EALREADY); + typ = @symbol(operationStartedSignal); + break; #endif #ifdef ENOTSOCK - case ENOTSOCK: - sym = @symbol(ENOTSOCK); - typ = @symbol(inappropriateOperationSignal); - break; + case ENOTSOCK: + sym = @symbol(ENOTSOCK); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EDESTADDRREQ - case EDESTADDRREQ: - sym = @symbol(EDESTADDRREQ); - typ = @symbol(underspecifiedSignal); - break; + case EDESTADDRREQ: + sym = @symbol(EDESTADDRREQ); + typ = @symbol(underspecifiedSignal); + break; #endif #ifdef EMSGSIZE - case EMSGSIZE: - sym = @symbol(EMSGSIZE); - typ = @symbol(rangeErrorSignal); - break; + case EMSGSIZE: + sym = @symbol(EMSGSIZE); + typ = @symbol(rangeErrorSignal); + break; #endif #ifdef EPROTOTYPE - case EPROTOTYPE: - sym = @symbol(EPROTOTYPE); - typ = @symbol(wrongSubtypeForOperationSignal); - break; + case EPROTOTYPE: + sym = @symbol(EPROTOTYPE); + typ = @symbol(wrongSubtypeForOperationSignal); + break; #endif #ifdef ENOPROTOOPT - case ENOPROTOOPT: - sym = @symbol(ENOPROTOOPT); - typ = @symbol(unsupportedOperationSignal); - break; + case ENOPROTOOPT: + sym = @symbol(ENOPROTOOPT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef EPROTONOSUPPORT - case EPROTONOSUPPORT: - sym = @symbol(EPROTONOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case EPROTONOSUPPORT: + sym = @symbol(EPROTONOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef ESOCKTNOSUPPORT - case ESOCKTNOSUPPORT: - sym = @symbol(ESOCKTNOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case ESOCKTNOSUPPORT: + sym = @symbol(ESOCKTNOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef EOPNOTSUPP - case EOPNOTSUPP: - sym = @symbol(EOPNOTSUPP); - typ = @symbol(inappropriateOperationSignal); - break; + case EOPNOTSUPP: + sym = @symbol(EOPNOTSUPP); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef EPFNOSUPPORT - case EPFNOSUPPORT: - sym = @symbol(EPFNOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case EPFNOSUPPORT: + sym = @symbol(EPFNOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef EAFNOSUPPORT - case EAFNOSUPPORT: - sym = @symbol(EAFNOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case EAFNOSUPPORT: + sym = @symbol(EAFNOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef EADDRINUSE - case EADDRINUSE: - sym = @symbol(EADDRINUSE); - typ = @symbol(existingReferentSignal); - break; + case EADDRINUSE: + sym = @symbol(EADDRINUSE); + typ = @symbol(existingReferentSignal); + break; #endif #ifdef WSAEADDRINUSE - case WSAEADDRINUSE: - sym = @symbol(WSAEADDRINUSE); - typ = @symbol(existingReferentSignal); - break; + case WSAEADDRINUSE: + sym = @symbol(WSAEADDRINUSE); + typ = @symbol(existingReferentSignal); + break; #endif #ifdef EADDRNOTAVAIL - case EADDRNOTAVAIL: - sym = @symbol(EADDRNOTAVAIL); - typ = @symbol(noPermissionsSignal); - break; + case EADDRNOTAVAIL: + sym = @symbol(EADDRNOTAVAIL); + typ = @symbol(noPermissionsSignal); + break; #endif #ifdef ETIMEDOUT - case ETIMEDOUT: - sym = @symbol(ETIMEDOUT); - typ = @symbol(peerFaultSignal); - break; + case ETIMEDOUT: + sym = @symbol(ETIMEDOUT); + typ = @symbol(peerFaultSignal); + break; +#endif +#ifdef WSAETIMEDOUT + case WSAETIMEDOUT: + sym = @symbol(ETIMEDOUT); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ECONNREFUSED - case ECONNREFUSED: - sym = @symbol(ECONNREFUSED); - typ = @symbol(peerFaultSignal); - break; + case ECONNREFUSED: + sym = @symbol(ECONNREFUSED); + typ = @symbol(peerFaultSignal); + break; +#endif +#ifdef WSAECONNREFUSED + case WSAECONNREFUSED: + sym = @symbol(ECONNREFUSED); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ENETDOWN - case ENETDOWN: - sym = @symbol(ENETDOWN); - typ = @symbol(peerFaultSignal); - break; + case ENETDOWN: + sym = @symbol(ENETDOWN); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ENETUNREACH - case ENETUNREACH: - sym = @symbol(ENETUNREACH); - typ = @symbol(peerFaultSignal); - break; + case ENETUNREACH: + sym = @symbol(ENETUNREACH); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ENETRESET - case ENETRESET: - sym = @symbol(ENETRESET); - typ = @symbol(peerFaultSignal); - break; + case ENETRESET: + sym = @symbol(ENETRESET); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ECONNABORTED - case ECONNABORTED: - sym = @symbol(ECONNABORTED); - typ = @symbol(peerFaultSignal); - break; + case ECONNABORTED: + sym = @symbol(ECONNABORTED); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef ECONNRESET - case ECONNRESET: - sym = @symbol(ECONNRESET); - typ = @symbol(peerFaultSignal); - break; + case ECONNRESET: + sym = @symbol(ECONNRESET); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef EISCONN - case EISCONN: - sym = @symbol(EISCONN); - typ = @symbol(unpreparedOperationSignal); - break; + case EISCONN: + sym = @symbol(EISCONN); + typ = @symbol(unpreparedOperationSignal); + break; #endif #ifdef ENOTCONN - case ENOTCONN: - sym = @symbol(ENOTCONN); - typ = @symbol(unpreparedOperationSignal); - break; + case ENOTCONN: + sym = @symbol(ENOTCONN); + typ = @symbol(unpreparedOperationSignal); + break; #endif #ifdef ESHUTDOWN - case ESHUTDOWN: - sym = @symbol(ESHUTDOWN); - typ = @symbol(unpreparedOperationSignal); - break; + case ESHUTDOWN: + sym = @symbol(ESHUTDOWN); + typ = @symbol(unpreparedOperationSignal); + break; #endif #ifdef EHOSTDOWN - case EHOSTDOWN: - sym = @symbol(EHOSTDOWN); - typ = @symbol(peerFaultSignal); - break; + case EHOSTDOWN: + sym = @symbol(EHOSTDOWN); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef EHOSTUNREACH - case EHOSTUNREACH: - sym = @symbol(EHOSTUNREACH); - typ = @symbol(peerFaultSignal); - break; + case EHOSTUNREACH: + sym = @symbol(EHOSTUNREACH); + typ = @symbol(peerFaultSignal); + break; +#endif +#ifdef WSAHOSTUNREACH + case WSAHOSTUNREACH: + sym = @symbol(EHOSTUNREACH); + typ = @symbol(peerFaultSignal); + break; #endif #ifdef WSAEFAULT - case WSAEFAULT: - sym = @symbol(WSAEFAULT); - typ = @symbol(invalidArgumentsSignal); - break; + case WSAEFAULT: + sym = @symbol(WSAEFAULT); + typ = @symbol(invalidArgumentsSignal); + break; #endif #ifdef WSAEINTR - case WSAEINTR: - sym = @symbol(WSAEINTR); - typ = @symbol(transientErrorSignal); - break; + case WSAEINTR: + sym = @symbol(WSAEINTR); + typ = @symbol(transientErrorSignal); + break; #endif #ifdef WSAEBADF - case WSAEBADF: - sym = @symbol(WSAEBADF); - typ = @symbol(badAccessorSignal); - break; + case WSAEBADF: + sym = @symbol(WSAEBADF); + typ = @symbol(badAccessorSignal); + break; #endif #ifdef WSAEACCES - case WSAEACCES: - sym = @symbol(WSAEACCES); - typ = @symbol(badAccessorSignal); - break; + case WSAEACCES: + sym = @symbol(WSAEACCES); + typ = @symbol(badAccessorSignal); + break; #endif #ifdef WSAEINVAL - case WSAEINVAL: - sym = @symbol(WSAEINVAL); - typ = @symbol(invalidArgumentsSignal); - break; + case WSAEINVAL: + sym = @symbol(WSAEINVAL); + typ = @symbol(invalidArgumentsSignal); + break; #endif #ifdef WSAEMFILE - case WSAEMFILE: - sym = @symbol(WSAEMFILE); - typ = @symbol(noResourcesSignal); - break; + case WSAEMFILE: + sym = @symbol(WSAEMFILE); + typ = @symbol(noResourcesSignal); + break; #endif #ifdef WSAEWOULDBLOCK - case WSAEWOULDBLOCK: - sym = @symbol(WSAEWOULDBLOCK); - typ = @symbol(notReadySignal); - break; + case WSAEWOULDBLOCK: + sym = @symbol(WSAEWOULDBLOCK); + typ = @symbol(notReadySignal); + break; #endif #ifdef WSAEINPROGRESS - case WSAEINPROGRESS: - sym = @symbol(WSAEINPROGRESS); - typ = @symbol(operationStartedSignal); - break; + case WSAEINPROGRESS: + sym = @symbol(WSAEINPROGRESS); + typ = @symbol(operationStartedSignal); + break; #endif #ifdef WSAEALREADY - case WSAEALREADY: - sym = @symbol(WSAEALREADY); - typ = @symbol(operationStartedSignal); - break; + case WSAEALREADY: + sym = @symbol(WSAEALREADY); + typ = @symbol(operationStartedSignal); + break; #endif #ifdef WSAENOTSOCK - case WSAENOTSOCK: - sym = @symbol(WSAENOTSOCK); - typ = @symbol(inappropriateOperationSignal); - break; + case WSAENOTSOCK: + sym = @symbol(WSAENOTSOCK); + typ = @symbol(inappropriateOperationSignal); + break; #endif #ifdef WSAEPROTONOSUPPORT - case WSAEPROTONOSUPPORT: - sym = @symbol(WSAEPROTONOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case WSAEPROTONOSUPPORT: + sym = @symbol(WSAEPROTONOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef WSAESOCKTNOSUPPORT - case WSAESOCKTNOSUPPORT: - sym = @symbol(WSAESOCKTNOSUPPORT); - typ = @symbol(unsupportedOperationSignal); - break; + case WSAESOCKTNOSUPPORT: + sym = @symbol(WSAESOCKTNOSUPPORT); + typ = @symbol(unsupportedOperationSignal); + break; #endif #ifdef E_NOINTERFACE - case E_NOINTERFACE: - sym = @symbol(E_NOINTERFACE); - typ = @symbol(noInterfaceSignal); - break; + case E_NOINTERFACE: + sym = @symbol(E_NOINTERFACE); + typ = @symbol(noInterfaceSignal); + break; #endif #ifdef CO_E_NOTINITIALIZED - case CO_E_NOTINITIALIZED: - sym = @symbol(CO_E_NOTINITIALIZED); - typ = @symbol(coNotInitializedSignal); - break; + case CO_E_NOTINITIALIZED: + sym = @symbol(CO_E_NOTINITIALIZED); + typ = @symbol(coNotInitializedSignal); + break; #endif #ifdef REGDB_E_CLASSNOTREG - case REGDB_E_CLASSNOTREG: - sym = @symbol(REGDB_E_CLASSNOTREG); - typ = @symbol(classNotRegisteredSignal); - break; + case REGDB_E_CLASSNOTREG: + sym = @symbol(REGDB_E_CLASSNOTREG); + typ = @symbol(classNotRegisteredSignal); + break; #endif #ifdef CLASS_E_NOAGGREGATION - case CLASS_E_NOAGGREGATION: - sym = @symbol(CLASS_E_NOAGGREGATION); - typ = @symbol(noAggregationSignal); - break; + case CLASS_E_NOAGGREGATION: + sym = @symbol(CLASS_E_NOAGGREGATION); + typ = @symbol(noAggregationSignal); + break; #endif #ifdef DISP_E_UNKNOWNNAME - case DISP_E_UNKNOWNNAME: - sym = @symbol(DISP_E_UNKNOWNNAME); - typ = @symbol(unknownNameSignal); - break; + case DISP_E_UNKNOWNNAME: + sym = @symbol(DISP_E_UNKNOWNNAME); + typ = @symbol(unknownNameSignal); + break; #endif #ifdef OLEOBJ_E_NOVERBS - case OLEOBJ_E_NOVERBS: - sym = @symbol(OLEOBJ_E_NOVERBS); - typ = @symbol(noVerbsSignal); - break; -#endif - - default: - break; - } + case OLEOBJ_E_NOVERBS: + sym = @symbol(OLEOBJ_E_NOVERBS); + typ = @symbol(noVerbsSignal); + break; +#endif + + default: + break; + } } } %}. holder := OSErrorHolder new. sym isNil ifTrue:[ - sym := #ERROR_OTHER. - errNr notNil ifTrue:[ - "keep symbols as symbols" - holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]). - ]. + sym := #ERROR_OTHER. + errNr notNil ifTrue:[ + "keep symbols as symbols" + holder parameter:(errNr isString ifTrue:[errNr] ifFalse:[errNr asString]). + ]. ]. holder errorSymbol:sym errorCategory:(typ ? #defaultOsErrorSignal). ^ holder @@ -2632,212 +2650,212 @@ */ #ifdef ERROR_INVALID_FUNCTION if (sym == @symbol(ERROR_INVALID_FUNCTION)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_FUNCTION)) ); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_FUNCTION)) ); } #endif #ifdef ERROR_BAD_FORMAT if (sym == @symbol(ERROR_BAD_FORMAT)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_FORMAT))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_FORMAT))); } #endif #ifdef ERROR_FILE_NOT_FOUND if (sym == @symbol(ERROR_FILE_NOT_FOUND)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_FILE_NOT_FOUND))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_FILE_NOT_FOUND))); } #endif #ifdef ERROR_PATH_NOT_FOUND if (sym == @symbol(ERROR_PATH_NOT_FOUND)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PATH_NOT_FOUND))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PATH_NOT_FOUND))); } #endif #ifdef ERROR_TOO_MANY_OPEN_FILES if (sym == @symbol(ERROR_TOO_MANY_OPEN_FILES)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_TOO_MANY_OPEN_FILES))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_TOO_MANY_OPEN_FILES))); } #endif #ifdef ERROR_OPEN_FAILED if (sym == @symbol(ERROR_OPEN_FAILED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OPEN_FAILED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OPEN_FAILED))); } #endif #ifdef ERROR_ACCESS_DENIED if (sym == @symbol(ERROR_ACCESS_DENIED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ACCESS_DENIED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ACCESS_DENIED))); } #endif #ifdef ERROR_INVALID_HANDLE if (sym == @symbol(ERROR_INVALID_HANDLE)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_HANDLE))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_HANDLE))); } #endif #ifdef ERROR_NOT_ENOUGH_MEMORY if (sym == @symbol(ERROR_NOT_ENOUGH_MEMORY)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_ENOUGH_MEMORY))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_ENOUGH_MEMORY))); } #endif #ifdef ERROR_NO_SYSTEM_RESOURCES if (sym == @symbol(ERROR_NO_SYSTEM_RESOURCES)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_SYSTEM_RESOURCES))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_SYSTEM_RESOURCES))); } #endif #ifdef ERROR_INVALID_ACCESS if (sym == @symbol(ERROR_INVALID_ACCESS)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_ACCESS))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_ACCESS))); } #endif #ifdef ERROR_INVALID_DATA if (sym == @symbol(ERROR_INVALID_DATA)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DATA))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DATA))); } #endif #ifdef ERROR_INVALID_NAME if (sym == @symbol(ERROR_INVALID_NAME)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_NAME))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_NAME))); } #endif #ifdef ERROR_ARENA_TRASHED if (sym == @symbol(ERROR_ARENA_TRASHED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ARENA_TRASHED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ARENA_TRASHED))); } #endif #ifdef ERROR_OUTOFMEMORY if (sym == @symbol(ERROR_OUTOFMEMORY)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUTOFMEMORY))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUTOFMEMORY))); } #endif #ifdef ERROR_BROKEN_PIPE if (sym == @symbol(ERROR_BROKEN_PIPE)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BROKEN_PIPE))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BROKEN_PIPE))); } #endif #ifdef ERROR_GEN_FAILURE if (sym == @symbol(ERROR_GEN_FAILURE)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_GEN_FAILURE))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_GEN_FAILURE))); } #endif #ifdef ERROR_WRITE_PROTECT if (sym == @symbol(ERROR_WRITE_PROTECT)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_PROTECT))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_PROTECT))); } #endif #ifdef ERROR_WRITE_FAULT if (sym == @symbol(ERROR_WRITE_FAULT)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_FAULT))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRITE_FAULT))); } #endif #ifdef ERROR_READ_FAULT if (sym == @symbol(ERROR_READ_FAULT)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_READ_FAULT))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_READ_FAULT))); } #endif #ifdef ERROR_HANDLE_DISK_FULL if (sym == @symbol(ERROR_HANDLE_DISK_FULL)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_HANDLE_DISK_FULL))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_HANDLE_DISK_FULL))); } #endif #ifdef ERROR_DISK_FULL if (sym == @symbol(ERROR_DISK_FULL)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DISK_FULL))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DISK_FULL))); } #endif #ifdef ERROR_ERROR_SHARING_VIOLATION if (sym == @symbol(ERROR_ERROR_SHARING_VIOLATION)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ERROR_SHARING_VIOLATION))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_ERROR_SHARING_VIOLATION))); } #endif #ifdef ERROR_LOCK_VIOLATION if (sym == @symbol(ERROR_LOCK_VIOLATION)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_LOCK_VIOLATION))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_LOCK_VIOLATION))); } #endif #ifdef ERROR_INVALID_PARAMETER if (sym == @symbol(ERROR_INVALID_PARAMETER)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_PARAMETER))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_PARAMETER))); } #endif #ifdef ERROR_NET_WRITE_FAULT if (sym == @symbol(ERROR_NET_WRITE_FAULT)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NET_WRITE_FAULT))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NET_WRITE_FAULT))); } #endif #ifdef ERROR_NOT_SUPPORTED if (sym == @symbol(ERROR_NOT_SUPPORTED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_SUPPORTED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_SUPPORTED))); } #endif #ifdef ERROR_REM_NOT_LIST if (sym == @symbol(ERROR_REM_NOT_LIST)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_REM_NOT_LIST))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_REM_NOT_LIST))); } #endif #ifdef ERROR_NETWORK_ACCESS_DENIED if (sym == @symbol(ERROR_NETWORK_ACCESS_DENIED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_ACCESS_DENIED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_ACCESS_DENIED))); } #endif #ifdef ERROR_DUP_NAME if (sym == @symbol(ERROR_DUP_NAME)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DUP_NAME))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DUP_NAME))); } #endif #ifdef ERROR_BAD_NETPATH if (sym == @symbol(ERROR_BAD_NETPATH)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_NETPATH))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_BAD_NETPATH))); } #endif #ifdef ERROR_NETWORK_BUSY if (sym == @symbol(ERROR_NETWORK_BUSY)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_BUSY))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NETWORK_BUSY))); } #endif #ifdef ERROR_DRIVE_LOCKED if (sym == @symbol(ERROR_DRIVE_LOCKED)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DRIVE_LOCKED))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_DRIVE_LOCKED))); } #endif #ifdef ERROR_INVALID_DRIVE if (sym == @symbol(ERROR_INVALID_DRIVE)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DRIVE))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_INVALID_DRIVE))); } #endif #ifdef ERROR_WRONG_DISK if (sym == @symbol(ERROR_WRONG_DISK)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRONG_DISK))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_WRONG_DISK))); } #endif #ifdef ERROR_CURRENT_DIRECTORY if (sym == @symbol(ERROR_CURRENT_DIRECTORY)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CURRENT_DIRECTORY))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CURRENT_DIRECTORY))); } #endif #ifdef ERROR_CANNOT_MAKE if (sym == @symbol(ERROR_CANNOT_MAKE)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CANNOT_MAKE))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_CANNOT_MAKE))); } #endif #ifdef ERROR_NO_MORE_FILES if (sym == @symbol(ERROR_NO_MORE_FILES)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_MORE_FILES))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NO_MORE_FILES))); } #endif #ifdef ERROR_NOT_READY if (sym == @symbol(ERROR_NOT_READY)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_READY))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_READY))); } #endif #ifdef ERROR_NOT_DOS_DISK if (sym == @symbol(ERROR_NOT_DOS_DISK)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_DOS_DISK))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_NOT_DOS_DISK))); } #endif #ifdef ERROR_OUT_OF_PAPER if (sym == @symbol(ERROR_OUT_OF_PAPER)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUT_OF_PAPER))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_OUT_OF_PAPER))); } #endif #ifdef ERROR_PRINTQ_FULL if (sym == @symbol(ERROR_PRINTQ_FULL)) { - RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PRINTQ_FULL))); + RETURN ( __mkSmallInteger(__WIN32_ERR(ERROR_PRINTQ_FULL))); } #endif @@ -2846,229 +2864,229 @@ */ #ifdef EPERM if (sym == @symbol(EPERM)) { - RETURN ( __mkSmallInteger(EPERM) ); + RETURN ( __mkSmallInteger(EPERM) ); } #endif #ifdef ENOENT if (sym == @symbol(ENOENT)) { - RETURN ( __mkSmallInteger(ENOENT) ); + RETURN ( __mkSmallInteger(ENOENT) ); } #endif #ifdef ESRCH if (sym == @symbol(ESRCH)) { - RETURN ( __mkSmallInteger(ESRCH) ); + RETURN ( __mkSmallInteger(ESRCH) ); } #endif #ifdef EINTR if (sym == @symbol(EINTR)) { - RETURN ( __mkSmallInteger(EINTR) ); + RETURN ( __mkSmallInteger(EINTR) ); } #endif #ifdef EIO if (sym == @symbol(EIO)) { - RETURN ( __mkSmallInteger(EIO) ); + RETURN ( __mkSmallInteger(EIO) ); } #endif #ifdef ENXIO if (sym == @symbol(ENXIO)) { - RETURN ( __mkSmallInteger(ENXIO) ); + RETURN ( __mkSmallInteger(ENXIO) ); } #endif #ifdef E2BIG if (sym == @symbol(E2BIG)) { - RETURN ( __mkSmallInteger(E2BIG) ); + RETURN ( __mkSmallInteger(E2BIG) ); } #endif #ifdef ENOEXEC if (sym == @symbol(ENOEXEC)) { - RETURN ( __mkSmallInteger(ENOEXEC) ); + RETURN ( __mkSmallInteger(ENOEXEC) ); } #endif #ifdef EBADF if (sym == @symbol(EBADF)) { - RETURN ( __mkSmallInteger(EBADF) ); + RETURN ( __mkSmallInteger(EBADF) ); } #endif #ifdef ECHILD if (sym == @symbol(ECHILD)) { - RETURN ( __mkSmallInteger(ECHILD) ); + RETURN ( __mkSmallInteger(ECHILD) ); } #endif #if defined(EAGAIN) if (sym == @symbol(EAGAIN)) { - RETURN ( __mkSmallInteger(EAGAIN) ); + RETURN ( __mkSmallInteger(EAGAIN) ); } #endif #ifdef ENOMEM if (sym == @symbol(ENOMEM)) { - RETURN ( __mkSmallInteger(ENOMEM) ); + RETURN ( __mkSmallInteger(ENOMEM) ); } #endif #ifdef EACCES if (sym == @symbol(EACCES)) { - RETURN ( __mkSmallInteger(EACCES) ); + RETURN ( __mkSmallInteger(EACCES) ); } #endif #ifdef EFAULT if (sym == @symbol(EFAULT)) { - RETURN ( __mkSmallInteger(EFAULT) ); + RETURN ( __mkSmallInteger(EFAULT) ); } #endif #ifdef EBUSY if (sym == @symbol(EBUSY)) { - RETURN ( __mkSmallInteger(EBUSY) ); + RETURN ( __mkSmallInteger(EBUSY) ); } #endif #ifdef EXDEV if (sym == @symbol(EXDEV)) { - RETURN ( __mkSmallInteger(EXDEV) ); + RETURN ( __mkSmallInteger(EXDEV) ); } #endif #ifdef ENODEV if (sym == @symbol(ENODEV)) { - RETURN ( __mkSmallInteger(ENODEV) ); + RETURN ( __mkSmallInteger(ENODEV) ); } #endif #ifdef ENOTDIR if (sym == @symbol(ENOTDIR)) { - RETURN ( __mkSmallInteger(ENOTDIR) ); + RETURN ( __mkSmallInteger(ENOTDIR) ); } #endif #ifdef EISDIR if (sym == @symbol(EISDIR)) { - RETURN ( __mkSmallInteger(EISDIR) ); + RETURN ( __mkSmallInteger(EISDIR) ); } #endif #ifdef EINVAL if (sym == @symbol(EINVAL)) { - RETURN ( __mkSmallInteger(EINVAL) ); + RETURN ( __mkSmallInteger(EINVAL) ); } #endif #ifdef ENFILE if (sym == @symbol(ENFILE)) { - RETURN ( __mkSmallInteger(ENFILE) ); + RETURN ( __mkSmallInteger(ENFILE) ); } #endif #ifdef EMFILE if (sym == @symbol(EMFILE)) { - RETURN ( __mkSmallInteger(EMFILE) ); + RETURN ( __mkSmallInteger(EMFILE) ); } #endif #ifdef ENOTTY if (sym == @symbol(ENOTTY)) { - RETURN ( __mkSmallInteger(ENOTTY) ); + RETURN ( __mkSmallInteger(ENOTTY) ); } #endif #ifdef EFBIG if (sym == @symbol(EFBIG)) { - RETURN ( __mkSmallInteger(EFBIG) ); + RETURN ( __mkSmallInteger(EFBIG) ); } #endif #ifdef ENOSPC if (sym == @symbol(ENOSPC)) { - RETURN ( __mkSmallInteger(ENOSPC) ); + RETURN ( __mkSmallInteger(ENOSPC) ); } #endif #ifdef ESPIPE if (sym == @symbol(ESPIPE)) { - RETURN ( __mkSmallInteger(ESPIPE) ); + RETURN ( __mkSmallInteger(ESPIPE) ); } #endif #ifdef EROFS if (sym == @symbol(EROFS)) { - RETURN ( __mkSmallInteger(EROFS) ); + RETURN ( __mkSmallInteger(EROFS) ); } #endif #ifdef EMLINK if (sym == @symbol(EMLINK)) { - RETURN ( __mkSmallInteger(EMLINK) ); + RETURN ( __mkSmallInteger(EMLINK) ); } #endif #ifdef EPIPE if (sym == @symbol(EPIPE)) { - RETURN ( __mkSmallInteger(EPIPE) ); + RETURN ( __mkSmallInteger(EPIPE) ); } #endif #ifdef EDOM if (sym == @symbol(EDOM)) { - RETURN ( __mkSmallInteger(EDOM) ); + RETURN ( __mkSmallInteger(EDOM) ); } #endif #ifdef ERANGE if (sym == @symbol(ERANGE)) { - RETURN ( __mkSmallInteger(ERANGE) ); + RETURN ( __mkSmallInteger(ERANGE) ); } #endif #ifdef EDEADLK if (sym == @symbol(EDEADLK)) { - RETURN ( __mkSmallInteger(EDEADLK) ); + RETURN ( __mkSmallInteger(EDEADLK) ); } #endif #ifdef ENAMETOOLONG if (sym == @symbol(ENAMETOOLONG)) { - RETURN ( __mkSmallInteger(ENAMETOOLONG) ); + RETURN ( __mkSmallInteger(ENAMETOOLONG) ); } #endif #ifdef ENOLCK if (sym == @symbol(ENOLCK)) { - RETURN ( __mkSmallInteger(ENOLCK) ); + RETURN ( __mkSmallInteger(ENOLCK) ); } #endif #ifdef ENOSYS if (sym == @symbol(ENOSYS)) { - RETURN ( __mkSmallInteger(ENOSYS) ); + RETURN ( __mkSmallInteger(ENOSYS) ); } #endif #ifdef ENOTEMPTY if (sym == @symbol(ENOTEMPTY)) { - RETURN ( __mkSmallInteger(ENOTEMPTY) ); + RETURN ( __mkSmallInteger(ENOTEMPTY) ); } #endif #ifdef EEXIST if (sym == @symbol(EEXIST)) { - RETURN ( __mkSmallInteger(EEXIST) ); + RETURN ( __mkSmallInteger(EEXIST) ); } #endif #ifdef EILSEQ if (sym == @symbol(EILSEQ)) { - RETURN ( __mkSmallInteger(EILSEQ) ); + RETURN ( __mkSmallInteger(EILSEQ) ); } #endif @@ -3077,13 +3095,13 @@ */ #ifdef ENOTBLK if (sym == @symbol(ENOTBLK)) { - RETURN ( __mkSmallInteger(ENOTBLK) ); + RETURN ( __mkSmallInteger(ENOTBLK) ); } #endif #ifdef ETXTBSY if (sym == @symbol(ETXTBSY)) { - RETURN ( __mkSmallInteger(ETXTBSY) ); + RETURN ( __mkSmallInteger(ETXTBSY) ); } #endif @@ -3092,19 +3110,19 @@ */ #ifdef EWOULDBLOCK if (sym == @symbol(EWOULDBLOCK)) { - RETURN ( __mkSmallInteger(EWOULDBLOCK) ); + RETURN ( __mkSmallInteger(EWOULDBLOCK) ); } #endif #ifdef ENOMSG if (sym == @symbol(ENOMSG)) { - RETURN ( __mkSmallInteger(ENOMSG) ); + RETURN ( __mkSmallInteger(ENOMSG) ); } #endif #ifdef ELOOP if (sym == @symbol(ELOOP)) { - RETURN ( __mkSmallInteger(ELOOP) ); + RETURN ( __mkSmallInteger(ELOOP) ); } #endif @@ -3113,31 +3131,31 @@ */ #ifdef ETIME if (sym == @symbol(ETIME)) { - RETURN ( __mkSmallInteger(ETIME) ); + RETURN ( __mkSmallInteger(ETIME) ); } #endif #ifdef ENOSR if (sym == @symbol(ENOSR)) { - RETURN ( __mkSmallInteger(ENOSR) ); + RETURN ( __mkSmallInteger(ENOSR) ); } #endif #ifdef ENOSTR if (sym == @symbol(ENOSTR)) { - RETURN ( __mkSmallInteger(ENOSTR) ); + RETURN ( __mkSmallInteger(ENOSTR) ); } #endif #ifdef ECOMM if (sym == @symbol(ECOMM)) { - RETURN ( __mkSmallInteger(ECOMM) ); + RETURN ( __mkSmallInteger(ECOMM) ); } #endif #ifdef EPROTO if (sym == @symbol(EPROTO)) { - RETURN ( __mkSmallInteger(EPROTO) ); + RETURN ( __mkSmallInteger(EPROTO) ); } #endif @@ -3146,13 +3164,13 @@ */ #ifdef ESTALE if (sym == @symbol(ESTALE)) { - RETURN ( __mkSmallInteger(ESTALE) ); + RETURN ( __mkSmallInteger(ESTALE) ); } #endif #ifdef EREMOTE if (sym == @symbol(EREMOTE)) { - RETURN ( __mkSmallInteger(EREMOTE) ); + RETURN ( __mkSmallInteger(EREMOTE) ); } #endif @@ -3161,157 +3179,162 @@ */ #ifdef EINPROGRESS if (sym == @symbol(EINPROGRESS)) { - RETURN ( __mkSmallInteger(EINPROGRESS) ); + RETURN ( __mkSmallInteger(EINPROGRESS) ); } #endif #ifdef EALREADY if (sym == @symbol(EALREADY)) { - RETURN ( __mkSmallInteger(EALREADY) ); + RETURN ( __mkSmallInteger(EALREADY) ); } #endif #ifdef ENOTSOCK if (sym == @symbol(ENOTSOCK)) { - RETURN ( __mkSmallInteger(ENOTSOCK) ); + RETURN ( __mkSmallInteger(ENOTSOCK) ); } #endif #ifdef EDESTADDRREQ if (sym == @symbol(EDESTADDRREQ)) { - RETURN ( __mkSmallInteger(EDESTADDRREQ) ); + RETURN ( __mkSmallInteger(EDESTADDRREQ) ); } #endif #ifdef EMSGSIZE if (sym == @symbol(EMSGSIZE)) { - RETURN ( __mkSmallInteger(EMSGSIZE) ); + RETURN ( __mkSmallInteger(EMSGSIZE) ); } #endif #ifdef EPROTOTYPE if (sym == @symbol(EPROTOTYPE)) { - RETURN ( __mkSmallInteger(EPROTOTYPE) ); + RETURN ( __mkSmallInteger(EPROTOTYPE) ); } #endif #ifdef ENOPROTOOPT if (sym == @symbol(ENOPROTOOPT)) { - RETURN ( __mkSmallInteger(ENOPROTOOPT) ); + RETURN ( __mkSmallInteger(ENOPROTOOPT) ); } #endif #ifdef EPROTONOSUPPORT if (sym == @symbol(EPROTONOSUPPORT)) { - RETURN ( __mkSmallInteger(EPROTONOSUPPORT) ); + RETURN ( __mkSmallInteger(EPROTONOSUPPORT) ); } #endif #ifdef ESOCKTNOSUPPORT if (sym == @symbol(ESOCKTNOSUPPORT)) { - RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) ); + RETURN ( __mkSmallInteger(ESOCKTNOSUPPORT) ); } #endif #ifdef EOPNOTSUPP if (sym == @symbol(EOPNOTSUPP)) { - RETURN ( __mkSmallInteger(EOPNOTSUPP) ); + RETURN ( __mkSmallInteger(EOPNOTSUPP) ); } #endif #ifdef EPFNOSUPPORT if (sym == @symbol(EPFNOSUPPORT)) { - RETURN ( __mkSmallInteger(EPFNOSUPPORT) ); + RETURN ( __mkSmallInteger(EPFNOSUPPORT) ); } #endif #ifdef EAFNOSUPPORT if (sym == @symbol(EAFNOSUPPORT)) { - RETURN ( __mkSmallInteger(EAFNOSUPPORT) ); + RETURN ( __mkSmallInteger(EAFNOSUPPORT) ); } #endif #ifdef EADDRINUSE if (sym == @symbol(EADDRINUSE)) { - RETURN ( __mkSmallInteger(EADDRINUSE) ); + RETURN ( __mkSmallInteger(EADDRINUSE) ); } #endif #ifdef EADDRNOTAVAIL if (sym == @symbol(EADDRNOTAVAIL)) { - RETURN ( __mkSmallInteger(EADDRNOTAVAIL) ); + RETURN ( __mkSmallInteger(EADDRNOTAVAIL) ); } #endif #ifdef ETIMEDOUT if (sym == @symbol(ETIMEDOUT)) { - RETURN ( __mkSmallInteger(ETIMEDOUT) ); + RETURN ( __mkSmallInteger(ETIMEDOUT) ); + } +#endif +#ifdef WSAETIMEDOUT + if (sym == @symbol(ETIMEDOUT)) { + RETURN ( __mkSmallInteger(WSAETIMEDOUT) ); } #endif #ifdef ECONNREFUSED if (sym == @symbol(ECONNREFUSED)) { - RETURN ( __mkSmallInteger(ECONNREFUSED) ); + RETURN ( __mkSmallInteger(ECONNREFUSED) ); } #endif #ifdef ENETDOWN if (sym == @symbol(ENETDOWN)) { - RETURN ( __mkSmallInteger(ENETDOWN) ); + RETURN ( __mkSmallInteger(ENETDOWN) ); } #endif #ifdef ENETUNREACH if (sym == @symbol(ENETUNREACH)) { - RETURN ( __mkSmallInteger(ENETUNREACH) ); + RETURN ( __mkSmallInteger(ENETUNREACH) ); } #endif #ifdef ENETRESET if (sym == @symbol(ENETRESET)) { - RETURN ( __mkSmallInteger(ENETRESET) ); + RETURN ( __mkSmallInteger(ENETRESET) ); } #endif #ifdef ECONNABORTED if (sym == @symbol(ECONNABORTED)) { - RETURN ( __mkSmallInteger(ECONNABORTED) ); + RETURN ( __mkSmallInteger(ECONNABORTED) ); } #endif #ifdef ECONNRESET if (sym == @symbol(ECONNRESET)) { - RETURN ( __mkSmallInteger(ECONNRESET) ); + RETURN ( __mkSmallInteger(ECONNRESET) ); } #endif #ifdef EISCONN if (sym == @symbol(EISCONN)) { - RETURN ( __mkSmallInteger(EISCONN) ); + RETURN ( __mkSmallInteger(EISCONN) ); } #endif #ifdef ENOTCONN if (sym == @symbol(ENOTCONN)) { - RETURN ( __mkSmallInteger(ENOTCONN) ); + RETURN ( __mkSmallInteger(ENOTCONN) ); } #endif #ifdef ESHUTDOWN if (sym == @symbol(ESHUTDOWN)) { - RETURN ( __mkSmallInteger(ESHUTDOWN) ); + RETURN ( __mkSmallInteger(ESHUTDOWN) ); } #endif #ifdef EHOSTDOWN if (sym == @symbol(EHOSTDOWN)) { - RETURN ( __mkSmallInteger(EHOSTDOWN) ); + RETURN ( __mkSmallInteger(EHOSTDOWN) ); } #endif #ifdef EHOSTUNREACH if (sym == @symbol(EHOSTUNREACH)) { - RETURN ( __mkSmallInteger(EHOSTUNREACH) ); + RETURN ( __mkSmallInteger(EHOSTUNREACH) ); } #endif /* @@ -3319,92 +3342,92 @@ */ #ifdef WSAEINTR if (sym == @symbol(WSAEINTR)) { - RETURN ( __mkSmallInteger(WSAEINTR) ); + RETURN ( __mkSmallInteger(WSAEINTR) ); } #endif #ifdef WSAEBADF if (sym == @symbol(WSAEBADF)) { - RETURN ( __mkSmallInteger(WSAEBADF) ); + RETURN ( __mkSmallInteger(WSAEBADF) ); } #endif #ifdef WSAEACCESS if (sym == @symbol(WSAEACCESS)) { - RETURN ( __mkSmallInteger(WSAEACCESS) ); + RETURN ( __mkSmallInteger(WSAEACCESS) ); } #endif #ifdef WSAEFAULT if (sym == @symbol(WSAEFAULT)) { - RETURN ( __mkSmallInteger(WSAEFAULT) ); + RETURN ( __mkSmallInteger(WSAEFAULT) ); } #endif #ifdef WSAEINVAL if (sym == @symbol(WSAEINVAL)) { - RETURN ( __mkSmallInteger(WSAEINVAL) ); + RETURN ( __mkSmallInteger(WSAEINVAL) ); } #endif #ifdef WSAEMFILE if (sym == @symbol(WSAEMFILE)) { - RETURN ( __mkSmallInteger(WSAEMFILE) ); + RETURN ( __mkSmallInteger(WSAEMFILE) ); } #endif #ifdef WSAEWOULDBLOCK if (sym == @symbol(WSAEWOULDBLOCK)) { - RETURN ( __mkSmallInteger(WSAEWOULDBLOCK) ); + RETURN ( __mkSmallInteger(WSAEWOULDBLOCK) ); } #endif #ifdef WSAEINPROGRESS if (sym == @symbol(WSAEINPROGRESS)) { - RETURN ( __mkSmallInteger(WSAEINPROGRESS) ); + RETURN ( __mkSmallInteger(WSAEINPROGRESS) ); } #endif #ifdef WSAEALREADY if (sym == @symbol(WSAEALREADY)) { - RETURN ( __mkSmallInteger(WSAEALREADY) ); + RETURN ( __mkSmallInteger(WSAEALREADY) ); } #endif #ifdef WSAENOTSOCK if (sym == @symbol(WSAENOTSOCK)) { - RETURN ( __mkSmallInteger(WSAENOTSOCK) ); + RETURN ( __mkSmallInteger(WSAENOTSOCK) ); } #endif #ifdef WSAEPROTONOSUPPORT if (sym == @symbol(WSAEPROTONOSUPPORT)) { - RETURN ( __mkSmallInteger(WSAEPROTONOSUPPORT) ); + RETURN ( __mkSmallInteger(WSAEPROTONOSUPPORT) ); } #endif #ifdef WSAESOCKTNOSUPPORT if (sym == @symbol(WSAESOCKTNOSUPPORT)) { - RETURN ( __mkSmallInteger(WSAESOCKTNOSUPPORT) ); + RETURN ( __mkSmallInteger(WSAESOCKTNOSUPPORT) ); } #endif #ifdef E_NOINTERFACE if (sym == @symbol(E_NOINTERFACE)) { - RETURN ( __MKUINT(E_NOINTERFACE) ); + RETURN ( __MKUINT(E_NOINTERFACE) ); } #endif #ifdef CO_E_NOTINITIALIZED if (sym == @symbol(CO_E_NOTINITIALIZED)) { - RETURN ( __MKUINT(CO_E_NOTINITIALIZED) ); + RETURN ( __MKUINT(CO_E_NOTINITIALIZED) ); } #endif #ifdef REGDB_E_CLASSNOTREG if (sym == @symbol(REGDB_E_CLASSNOTREG)) { - RETURN ( __MKUINT(REGDB_E_CLASSNOTREG) ); + RETURN ( __MKUINT(REGDB_E_CLASSNOTREG) ); } #endif #ifdef CLASS_E_NOAGGREGATION if (sym == @symbol(CLASS_E_NOAGGREGATION)) { - RETURN ( __MKUINT(CLASS_E_NOAGGREGATION) ); + RETURN ( __MKUINT(CLASS_E_NOAGGREGATION) ); } #endif #ifdef DISP_E_UNKNOWNNAME if (sym == @symbol(DISP_E_UNKNOWNNAME)) { - RETURN ( __MKUINT(DISP_E_UNKNOWNNAME) ); + RETURN ( __MKUINT(DISP_E_UNKNOWNNAME) ); } #endif #ifdef OLEOBJ_E_NOVERBS if (sym == @symbol(OLEOBJ_E_NOVERBS)) { - RETURN ( __MKUINT(OLEOBJ_E_NOVERBS) ); + RETURN ( __MKUINT(OLEOBJ_E_NOVERBS) ); } #endif @@ -11433,190 +11456,207 @@ int *pcntR = &cntR, *pcntW = &cntW, *pcntE = &cntE; fd_set readFds; fd_set writeFds; + fd_set exceptFds; int hasSockets; int hasPipes; int pass = 1; // perform up to 2 passes if (readableResultFdArray != nil) { - if (! __isArrayLike(readableResultFdArray)) { - goto fail; - } - resultSizeReadable = __arraySize(readableResultFdArray); + if (! __isArrayLike(readableResultFdArray)) { + goto fail; + } + resultSizeReadable = __arraySize(readableResultFdArray); } if (writableResultFdArray != nil) { - if (! __isArrayLike(writableResultFdArray)) { - goto fail; - } - resultSizeWritable = __arraySize(writableResultFdArray); - if (readableResultFdArray == writableResultFdArray) { - // allow common result set for read/write/except - pcntW = &cntR; - } + if (! __isArrayLike(writableResultFdArray)) { + goto fail; + } + resultSizeWritable = __arraySize(writableResultFdArray); + if (readableResultFdArray == writableResultFdArray) { + // allow common result set for read/write/except + pcntW = &cntR; + } } if (exceptionResultFdArray != nil) { - if (! __isArrayLike(exceptionResultFdArray)) { - goto fail; - } - resultSizeException = __arraySize(exceptionResultFdArray); - if (exceptionResultFdArray == readableResultFdArray) { - // allow common result set for read/write/except - pcntE = &cntR; - } else if (exceptionResultFdArray == writableResultFdArray) { - pcntE = &cntW; - } + if (! __isArrayLike(exceptionResultFdArray)) { + goto fail; + } + resultSizeException = __arraySize(exceptionResultFdArray); + if (exceptionResultFdArray == readableResultFdArray) { + // allow common result set for read/write/except + pcntE = &cntR; + } else if (exceptionResultFdArray == writableResultFdArray) { + pcntE = &cntW; + } } if (__isNonNilObject(readFdArray)) { - if (! __isArrayLike(readFdArray)) goto fail; - readCount = __arraySize(readFdArray); + if (! __isArrayLike(readFdArray)) goto fail; + readCount = __arraySize(readFdArray); } else { - readCount = 0; + readCount = 0; } if (__isNonNilObject(writeFdArray)) { - if (! __isArrayLike(writeFdArray)) goto fail; - writeCount = __arraySize(writeFdArray); + if (! __isArrayLike(writeFdArray)) goto fail; + writeCount = __arraySize(writeFdArray); } else { - writeCount = 0; + writeCount = 0; } if (__isNonNilObject(exceptFdArray)) { - if (! __isArrayLike(exceptFdArray)) goto fail; - exceptCount = __arraySize(exceptFdArray); + if (! __isArrayLike(exceptFdArray)) goto fail; + exceptCount = __arraySize(exceptFdArray); } else { - exceptCount = 0; + exceptCount = 0; } pollAgain: FD_ZERO(&readFds); FD_ZERO(&writeFds); + FD_ZERO(&exceptFds); numHandles = hasSockets = hasPipes = 0; for (i = 0; (i < readCount) && (numHandles < MAXHANDLE); i++) { - OBJ fd = __arrayVal(readFdArray)[i]; - - if (fd != nil) { - if (__Class(fd) == @global(Win32SocketHandle)) { - FD_SET (_HANDLEVal(fd), &readFds); - hasSockets++; - } else if (__isSmallInteger(fd)) { - DWORD canRead; - if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), 0, 0, 0, &canRead, 0)) { - if (canRead > 0) { - if (*pcntR < resultSizeReadable) { - __arrayVal(readableResultFdArray)[*pcntR] = fd; - } - (*pcntR)++; cntAll++; - } - } else { - @global(LastErrorNumber) = __mkSmallInteger(EBADF); - RETURN (__mkSmallInteger(-1)); - } - hasPipes++; - } else { - hArray [numHandles] = _HANDLEVal(fd); - retArray[numHandles] = i; - ++numHandles; - } - } + OBJ fd = __arrayVal(readFdArray)[i]; + + if (fd != nil) { + if (__Class(fd) == @global(Win32SocketHandle)) { + FD_SET (_HANDLEVal(fd), &readFds); + hasSockets++; + } else if (__isSmallInteger(fd)) { + DWORD canRead; + if (PeekNamedPipe(_get_osfhandle(__intVal(fd)), 0, 0, 0, &canRead, 0)) { + if (canRead > 0) { + if (*pcntR < resultSizeReadable) { + __arrayVal(readableResultFdArray)[*pcntR] = fd; + } + (*pcntR)++; cntAll++; + } + } else { + @global(LastErrorNumber) = __mkSmallInteger(EBADF); + RETURN (__mkSmallInteger(-1)); + } + hasPipes++; + } else { + hArray [numHandles] = _HANDLEVal(fd); + retArray[numHandles] = i; + ++numHandles; + } + } } for (i = 0; (i < writeCount) && (numHandles < MAXHANDLE); i++) { - OBJ fd = __arrayVal(writeFdArray)[i]; - - if (fd != nil) { - if (__Class(fd) == @global(Win32SocketHandle)) { - FD_SET (_HANDLEVal(fd), &writeFds); - hasSockets++; - } else if (__isSmallInteger(fd)) { - // kludge: assume that pipes can alway be written - if (*pcntW < resultSizeWritable) { - __arrayVal(writableResultFdArray)[*pcntW] = fd; - } - (*pcntW)++; cntAll++; - // there is no pipe to check - } else { - hArray [numHandles] = _HANDLEVal(fd); - retArray[numHandles] = i + 10000; - ++numHandles; - } - } + OBJ fd = __arrayVal(writeFdArray)[i]; + + if (fd != nil) { + if (__Class(fd) == @global(Win32SocketHandle)) { + FD_SET (_HANDLEVal(fd), &writeFds); + hasSockets++; + } else if (__isSmallInteger(fd)) { + // kludge: assume that pipes can alway be written + if (*pcntW < resultSizeWritable) { + __arrayVal(writableResultFdArray)[*pcntW] = fd; + } + (*pcntW)++; cntAll++; + // there is no pipe to check + } else { + hArray [numHandles] = _HANDLEVal(fd); + retArray[numHandles] = i + 10000; + ++numHandles; + } + } } for (i = 0; (i < exceptCount) && (numHandles < MAXHANDLE); i++) { - OBJ fd = __arrayVal(exceptFdArray)[i]; - - if (fd != nil) { - if (__isExternalAddressLike(fd)) { - hArray [numHandles] = _HANDLEVal(fd); - retArray[numHandles] = i + 20000; - ++numHandles; - } - } + OBJ fdOrPid = __arrayVal(exceptFdArray)[i]; + + if (fdOrPid != nil) { + if (__Class(fdOrPid) == @global(Win32SocketHandle)) { + FD_SET (_HANDLEVal(fdOrPid), &exceptFds); + hasSockets++; + } else if (__isExternalAddressLike(fdOrPid)) { + // a PID + hArray [numHandles] = _HANDLEVal(fdOrPid); + retArray[numHandles] = i + 20000; + ++numHandles; + } + } } if (hasSockets) { - struct timeval tv = {0, 0}; - int nReady; + struct timeval tv = {0, 0}; + int nReady; #ifdef SELECT3DEBUGWIN32 - console_printf("select hasSockets = %d\n", hasSockets); -#endif - nReady = select(1 , &readFds, &writeFds, NULL, &tv); // first parameter to select is ignored in windows - if (nReady < 0) { + console_printf("select hasSockets = %d\n", hasSockets); +#endif + nReady = select(1 , &readFds, &writeFds, &exceptFds, &tv); // first parameter to select is ignored in windows + if (nReady < 0) { #ifdef SELECTDEBUGWIN32 - console_printf("error in select %d %d\n", nReady, GetLastError()); -#endif - @global(LastErrorNumber) = __mkSmallInteger(EBADF); - RETURN (__mkSmallInteger(-1)); - } - if (nReady > 0) { + console_printf("error in select %d %d\n", nReady, GetLastError()); +#endif + @global(LastErrorNumber) = __mkSmallInteger(EBADF); + RETURN (__mkSmallInteger(-1)); + } + if (nReady > 0) { #ifdef SELECT3DEBUGWIN32 - console_printf("select nReady %d of %d\n", nReady, hasSockets); -#endif - for (i = 0; i < readCount; i++) { - OBJ fd = __arrayVal(readFdArray)[i]; - if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &readFds)) { - if (*pcntR < resultSizeReadable) { - __arrayVal(readableResultFdArray)[*pcntR] = fd; - __STORE(readableResultFdArray, fd); - } - (*pcntR)++; cntAll++; - } - } - for (i = 0; i < writeCount; i++) { - OBJ fd = __arrayVal(writeFdArray)[i]; - if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &writeFds)) { - if (*pcntW < resultSizeWritable) { - __arrayVal(writableResultFdArray)[*pcntW] = fd; - __STORE(writableResultFdArray, fd); - } - (*pcntW)++; cntAll++; - } - } - } + console_printf("select nReady %d of %d\n", nReady, hasSockets); +#endif + for (i = 0; i < readCount; i++) { + OBJ fd = __arrayVal(readFdArray)[i]; + if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &readFds)) { + if (*pcntR < resultSizeReadable) { + __arrayVal(readableResultFdArray)[*pcntR] = fd; + __STORE(readableResultFdArray, fd); + } + (*pcntR)++; cntAll++; + } + } + for (i = 0; i < writeCount; i++) { + OBJ fd = __arrayVal(writeFdArray)[i]; + if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &writeFds)) { + if (*pcntW < resultSizeWritable) { + __arrayVal(writableResultFdArray)[*pcntW] = fd; + __STORE(writableResultFdArray, fd); + } + (*pcntW)++; cntAll++; + } + } + for (i = 0; i < exceptCount; i++) { + OBJ fd = __arrayVal(exceptFdArray)[i]; + if ((__Class(fd) == @global(Win32SocketHandle)) && FD_ISSET(_HANDLEVal(fd), &exceptFds)) { + if (*pcntE < resultSizeException) { + __arrayVal(exceptionResultFdArray)[*pcntE] = fd; + __STORE(exceptionResultFdArray, fd); + } + (*pcntE)++; cntAll++; + } + } + + } } if (pass > 1) // perform maximum 2 passes - goto done; + goto done; if (cntAll) { - // check for other handles and return immediately, no timeout - t = 0; + // check for other handles and return immediately, no timeout + t = 0; } else { - if (__isSmallInteger(millis)) { - t = __intVal(millis); - - if (t <= 0 && numHandles == 0) { - RETURN (__mkSmallInteger(0)); - } - } else { - t = INFINITE; - } + if (__isSmallInteger(millis)) { + t = __intVal(millis); + + if (t <= 0 && numHandles == 0) { + RETURN (__mkSmallInteger(0)); + } + } else { + t = INFINITE; + } } if (numHandles == 0 && t == 0) { - // nothing to do and no wait - goto done; + // nothing to do and no wait + goto done; } #ifdef SELECT3DEBUGWIN32 @@ -11627,105 +11667,105 @@ if (res == WAIT_TIMEOUT) { #ifdef SELECT3DEBUGWIN32 - console_printf("- timeOut; ret nil\n" ); -#endif - if (t != 0 && (hasSockets || hasPipes)) { - // if not a single handle is ready, poll sockets an pipes again - pass = 2; - goto pollAgain; - } - goto done; + console_printf("- timeOut; ret nil\n" ); +#endif + if (t != 0 && (hasSockets || hasPipes)) { + // if not a single handle is ready, poll sockets an pipes again + pass = 2; + goto pollAgain; + } + goto done; } if (res == WAIT_FAILED) { #ifdef SELECT2DEBUGWIN32 - console_printf("- error %d (last %d); ret -1\n", __threadErrno, GetLastError()); -#endif - if (__threadErrno == EINTR) { - @global(LastErrorNumber) = nil; - RETURN (__mkSmallInteger(0)); - } else { - if (@global(InfoPrinting) == true) { + console_printf("- error %d (last %d); ret -1\n", __threadErrno, GetLastError()); +#endif + if (__threadErrno == EINTR) { + @global(LastErrorNumber) = nil; + RETURN (__mkSmallInteger(0)); + } else { + if (@global(InfoPrinting) == true) { // console_fprintf(stderr, "Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError()); - console_printf("Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError()); - } - @global(LastErrorNumber) = __mkSmallInteger(EBADF); - RETURN (__mkSmallInteger(-1)); - } + console_printf("Win32OS [info]: select errno = %d (last %d)\n", __threadErrno, GetLastError()); + } + @global(LastErrorNumber) = __mkSmallInteger(EBADF); + RETURN (__mkSmallInteger(-1)); + } } if (numHandles) { - if (res == numHandles) { - // vmwait() added an IRQ event to the handles, and this one has been triggered - if (1 /* @global(InfoPrinting) == true */) { - console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n"); - } - goto done; - } - if ((res < 0) || (res >= numHandles)) { - console_printf("- res=%d error1 %d\n", res, GetLastError()); - goto done; - } - - idx = retArray[res]; - cntAll++; + if (res == numHandles) { + // vmwait() added an IRQ event to the handles, and this one has been triggered + if (1 /* @global(InfoPrinting) == true */) { + console_fprintf(stderr, "Win32OS [info]: plugIn event has been handled\n"); + } + goto done; + } + if ((res < 0) || (res >= numHandles)) { + console_printf("- res=%d error1 %d\n", res, GetLastError()); + goto done; + } + + idx = retArray[res]; + cntAll++; #ifdef SELECTDEBUGWIN32 - console_printf("wait Handles res %d idx %d numHandles %d --- ", res, idx, numHandles); -#endif - if (idx < 10000) { - if (*pcntR < resultSizeReadable) { - OBJ temp = __arrayVal(readFdArray)[idx]; - __arrayVal(readableResultFdArray)[*pcntR] = temp; - __STORE(readableResultFdArray, temp); + console_printf("wait Handles res %d idx %d numHandles %d --- ", res, idx, numHandles); +#endif + if (idx < 10000) { + if (*pcntR < resultSizeReadable) { + OBJ temp = __arrayVal(readFdArray)[idx]; + __arrayVal(readableResultFdArray)[*pcntR] = temp; + __STORE(readableResultFdArray, temp); #ifdef SELECTDEBUGWIN32 - console_printf("read ready: %x\n", __externalAddressVal(temp)); -#endif - (*pcntR)++; - } - } else if (idx < 20000) { - if (*pcntW < resultSizeWritable) { - OBJ temp = __arrayVal(writeFdArray)[idx-10000]; - __arrayVal(writableResultFdArray)[*pcntW] = temp; - __STORE(writableResultFdArray, temp); + console_printf("read ready: %x\n", __externalAddressVal(temp)); +#endif + (*pcntR)++; + } + } else if (idx < 20000) { + if (*pcntW < resultSizeWritable) { + OBJ temp = __arrayVal(writeFdArray)[idx-10000]; + __arrayVal(writableResultFdArray)[*pcntW] = temp; + __STORE(writableResultFdArray, temp); #ifdef SELECTDEBUGWIN32 - console_printf("write ready: %x\n", temp); -#endif - (*pcntW)++; - } - } else { - if (*pcntE < resultSizeException) { - OBJ temp = __arrayVal(exceptFdArray)[idx-20000]; - __arrayVal(exceptionResultFdArray)[*pcntE] = temp; - __STORE(exceptionResultFdArray, temp); + console_printf("write ready: %x\n", temp); +#endif + (*pcntW)++; + } + } else { + if (*pcntE < resultSizeException) { + OBJ temp = __arrayVal(exceptFdArray)[idx-20000]; + __arrayVal(exceptionResultFdArray)[*pcntE] = temp; + __STORE(exceptionResultFdArray, temp); #ifdef SELECTDEBUGWIN32 - console_printf("except ready: %x\n", temp); -#endif - (*pcntE)++; - } + console_printf("except ready: %x\n", temp); +#endif + (*pcntE)++; + } #ifdef SELECTDEBUGWIN32 - else - console_printf("cntE: %d, resultSizeException: %d\n", *pcntE, resultSizeException); -#endif - } + else + console_printf("cntE: %d, resultSizeException: %d\n", *pcntE, resultSizeException); +#endif + } } if (t != 0 && (hasSockets || hasPipes)) { - // back after timeout, maybe some sockets or pipes die wake up - // in the meantime? - pass = 2; - goto pollAgain; + // back after timeout, maybe some sockets or pipes did wake up + // in the meantime? + pass = 2; + goto pollAgain; } done: /* add a delimiter */ if (*pcntR < resultSizeReadable) { - __arrayVal(readableResultFdArray)[*pcntR] = nil; + __arrayVal(readableResultFdArray)[*pcntR] = nil; } if (*pcntW < resultSizeWritable) { - __arrayVal(writableResultFdArray)[*pcntW] = nil; + __arrayVal(writableResultFdArray)[*pcntW] = nil; } if (*pcntE < resultSizeException) { - __arrayVal(exceptionResultFdArray)[*pcntE] = nil; + __arrayVal(exceptionResultFdArray)[*pcntE] = nil; } @global(LastErrorNumber) = nil;