Comments (2)
Dispatch folks, does a DispatchSource need to be retained while it's active? If so, this pretty much behaves as expected, Yuuji; objects may be released as soon as nothing refers to them anymore. The fact that it works without a do-catch block is mostly a coincidence.
from swift-corelibs-libdispatch.
Comment by Pierre Habouzit (JIRA)
This is a behaves correctly, releasing the last reference on a source is an implicit cancelation. The best way to have it not happen is to indeed have a reference to the source from one of the handler.
calling `cancel` on the source will cause the handler to be destroyed and the retain cycle to be broken.
the C interface works exactly the same way.
from swift-corelibs-libdispatch.
Related Issues (20)
- [SR-15686] Dispatch on Linux incorrectly inherits random thread names HOT 1
- [SR-15545] Linux: DispatchTime's advanced() is not implemented HOT 1
- [SR-15528] Can't convert DispatchQueue to dispatch_queue_t on Linux
- [SR-15166] Crash in _dispatch_wait_for_enqueuer on Android armeabi-v7a HOT 5
- [SR-15133] Crash when deallocating a never-resumed DispatchSourceTimer HOT 7
- [SR-15126] Swift Package Manager (SPM) on Windows gets stuck after displaying "...\swiftxml-manifest.exe -handle ..." HOT 14
- Swift Actor/Tasks concurrency on Linux - Lock contention in rand() HOT 18
- dispatch.h incompatible with gcc / g++ 12 HOT 18
- Add `Sendable` conformances to thread-safe types HOT 1
- DispatchTime.distance(to:) is not implemented
- `DispatchTimeInterval` is not `Sendable` HOT 4
- Implementing an alternative to Block_copy
- GitHub Releases HOT 12
- bug: There is no way to get current queue / current queue label under Linux HOT 2
- MacOS 14: Crash on dispatch_activate after fork
- Test dispatch_after flakiness
- DispatchIO.read spinning while pipe is open on Windows HOT 17
- Re-adding dispatch source for socket file descriptors results in reuse and incorrect update of dispatch_muxnote_t on Ubuntu, Android, and Windows HOT 5
- Linux: DispatchTimeInterval not Equatable
- Can't link libdispatch in C language
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swift-corelibs-libdispatch.