@@ -428,11 +428,21 @@ public final class Inotify {
428428// FIXME: <rdar://problem/45794219> Swift should provide shims for FD_ macros
429429
430430private func FD_ZERO( _ set: inout fd_set ) {
431- #if os(Android)
432- set. fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
433- #else
434- set. __fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
435- #endif
431+ #if os(Android)
432+ #if arch(arm)
433+ set. fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
434+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
435+ #else
436+ set. fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
437+ #endif
438+ #else
439+ #if arch(arm)
440+ set. __fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
441+ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
442+ #else
443+ set. __fds_bits = ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 )
444+ #endif
445+ #endif
436446}
437447
438448private func FD_SET( _ fd: Int32 , _ set: inout fd_set ) {
@@ -462,6 +472,24 @@ private func FD_SET(_ fd: Int32, _ set: inout fd_set) {
462472 case 13 : fd_bits. 13 = fd_bits. 13 | mask
463473 case 14 : fd_bits. 14 = fd_bits. 14 | mask
464474 case 15 : fd_bits. 15 = fd_bits. 15 | mask
475+ #if arch(arm)
476+ case 16 : fd_bits. 16 = fd_bits. 16 | mask
477+ case 17 : fd_bits. 17 = fd_bits. 17 | mask
478+ case 18 : fd_bits. 18 = fd_bits. 18 | mask
479+ case 19 : fd_bits. 19 = fd_bits. 19 | mask
480+ case 20 : fd_bits. 20 = fd_bits. 20 | mask
481+ case 21 : fd_bits. 21 = fd_bits. 21 | mask
482+ case 22 : fd_bits. 22 = fd_bits. 22 | mask
483+ case 23 : fd_bits. 23 = fd_bits. 23 | mask
484+ case 24 : fd_bits. 24 = fd_bits. 24 | mask
485+ case 25 : fd_bits. 25 = fd_bits. 25 | mask
486+ case 26 : fd_bits. 26 = fd_bits. 26 | mask
487+ case 27 : fd_bits. 27 = fd_bits. 27 | mask
488+ case 28 : fd_bits. 28 = fd_bits. 28 | mask
489+ case 29 : fd_bits. 29 = fd_bits. 29 | mask
490+ case 30 : fd_bits. 30 = fd_bits. 30 | mask
491+ case 31 : fd_bits. 31 = fd_bits. 31 | mask
492+ #endif
465493 default : break
466494 }
467495 #if os(Android)
@@ -498,6 +526,24 @@ private func FD_ISSET(_ fd: Int32, _ set: inout fd_set) -> Bool {
498526 case 13 : return fd_bits. 13 & mask != 0
499527 case 14 : return fd_bits. 14 & mask != 0
500528 case 15 : return fd_bits. 15 & mask != 0
529+ #if arch(arm)
530+ case 16 : return fd_bits. 16 & mask != 0
531+ case 17 : return fd_bits. 17 & mask != 0
532+ case 18 : return fd_bits. 18 & mask != 0
533+ case 19 : return fd_bits. 19 & mask != 0
534+ case 20 : return fd_bits. 20 & mask != 0
535+ case 21 : return fd_bits. 21 & mask != 0
536+ case 22 : return fd_bits. 22 & mask != 0
537+ case 23 : return fd_bits. 23 & mask != 0
538+ case 24 : return fd_bits. 24 & mask != 0
539+ case 25 : return fd_bits. 25 & mask != 0
540+ case 26 : return fd_bits. 26 & mask != 0
541+ case 27 : return fd_bits. 27 & mask != 0
542+ case 28 : return fd_bits. 28 & mask != 0
543+ case 29 : return fd_bits. 29 & mask != 0
544+ case 30 : return fd_bits. 30 & mask != 0
545+ case 31 : return fd_bits. 31 & mask != 0
546+ #endif
501547 default : return false
502548 }
503549}
0 commit comments