# \`IORing\` now supports \`pollAdd\`

**URL:** <https://forums.swift.org/t/ioring-now-supports-polladd/89766>\
**Category:** System\
**Created:** [September 25, 2026, 5:07pm UTC](https://forums.swift.org/t/ioring-now-supports-polladd/89766 "2026-09-25T17:07:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![jrflat](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/jrflat/32/31407_2.png) [@jrflat](https://forums.swift.org/u/jrflat)\
**Post date:** [September 25, 2026, 5:07pm UTC](https://forums.swift.org/t/ioring-now-supports-polladd/89766/1 "2026-09-25T17:07:53Z")

</div>

Hi System enthusiasts,

`IORing` now supports the `pollAdd` operation for observing events on a `FileDescriptor`. Thank you to @FranzBusch, @glessard, and @MarSe32m for the contributions! [[IO\_URING] Add support for `pollAdd` operation by FranzBusch · Pull Request #273 · apple/swift-system · GitHub](https://github.com/apple/swift-system/pull/273)

New API on `main`:

```swift
struct IORing.Request.PollEvents: OptionSet, Hashable, Codable {
  init(rawValue: UInt32)
  static var readable // 0x0001
  static var priorityData // 0x0002
  static var writable // 0x0004
  static var error // 0x0008
  static var hangUp // 0x0010
  static var invalidDescriptor // 0x0020
  static var peerClosed // 0x2000
}

extension IORing.Request {
  static func pollAdd(
    _ file: FileDescriptor,
    events: PollEvents,
    isMultiShot: Bool = false,
    context: UInt64 = 0
  ) -> IORing.Request
}

```

See the PR for doc comments and usage examples. Please try it out on `main` and send your feedback here on the forums or as an issue on GitHub. These changes will be included in the next minor release of `swift-system`.

Thank you!
