Skip to content

Conversation

@kazu-yamamoto
Copy link
Collaborator

To implement network programming without asynchronous exceptions, this common pattern is useful.
@khibino Would you review this PR?

Copy link
Contributor

@khibino khibino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

import Network.Socket.Shutdown
import Network.Socket.SockAddr
import Network.Socket.Syscall hiding (connect, bind, accept)
import Network.Socket.Syscall hiding (accept, bind, connect)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this file formatting only?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. Sorry. fourmolue did it automatically.

@kazu-yamamoto
Copy link
Collaborator Author

fourmole formatting has been pushed onto master.
Then the diff only for this issue has been pushed.

@kazu-yamamoto kazu-yamamoto merged commit 15e2454 into haskell:master Aug 28, 2024
@kazu-yamamoto kazu-yamamoto deleted the socket-stm branch August 28, 2024 01:25
@kazu-yamamoto
Copy link
Collaborator Author

Thank you for reviewing!

netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jan 30, 2025
## Version 3.2.7.0

* Using nested `bracket` for `gracefulClose`.
  [#591](haskell/network#590)
* Fix memory leak in getaddrinfo and make it async exception safe.
  [#591](haskell/network#591)
* Make call to c_free async exception safe.
  [#592](haskell/network#592)

## Version 3.2.6.0

* fixing the Show instance of IPv4-mapped IPv6 address on little endian machines

## Version 3.2.5.0

* `gracefulClose` based on STM racing and `timeout`.
  [#587](haskell/network#587)

## Version 3.2.4.0

* New API: setSockOptValue.
  [#588](haskell/network#588)

## Version 3.2.3.0

* Making getAddrInfo polymorphic
  [#587](haskell/network#587)

## Version 3.2.2.0

* New API: waitReadSocketSTM, waitAndCancelReadSocketSTM,
  waitWriteSocketSTM, waitAndCancelWriteSocketSTM
  [#586](haskell/network#586)
* Checking the length of ASCII string allowing trailing 0.
  [#585](haskell/network#585)

## Version 3.2.1.0

* Trying to release with the latest autoreconf.
  Packing "network" in the local directory instead of CI.
* Remove includes from .cabal-file
  [#583](haskell/network#583)
* making gracefulClose more graceful
  [#580](haskell/network#580)
* Update config.guess, config.sub to their latest versions
  [#579](haskell/network#579)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants