rfm
dfd1526455
Purge observations with dead weak references when trying to remove an observer
2025-01-07 19:43:02 +00:00
rfm
b41e352662
tweaks for gnustep runtime
2024-12-28 07:48:32 +00:00
rfm
bdf4403195
Weak pointer support fixes and use for notification observers.
2024-12-28 07:48:32 +00:00
rfm
b2e198cb0d
Fix notification removal bug from last update
2024-11-12 15:08:06 +00:00
rfm
44222342b0
Fix for issue 461
2024-11-09 11:09:22 +00:00
rfm
6667842dd5
Update FSF address as requested by Gregory
2024-11-07 13:37:59 +00:00
rfm
58ae7db59a
fixup headers for deletion of obsolete lock code
2024-05-30 11:06:23 +01:00
williameveretteggplant
21a48f6136
NotificationCenter removeObserver ( #396 )
...
This modifies the NotificationCenter class to do the following:
- add an ivar to the class for an array to hold observers that need to be released when they are removed
- adds an observer to that array if the observer is of class GSNotificationObserver
- upon removing an observer, check if it is in that array, if so remove it from the array and release it.
This replaces the previous implementation which checked the class of the observer as it was being removed, which would cause a crash if the observer had been deallocated.
2024-04-30 18:44:26 +02:00
rfm
61da0dab96
fix possible dereference of null pointer
2024-03-11 14:36:22 +00:00
rfm
a0ce4ab880
keep observer retained until removed
2024-01-09 08:25:28 +00:00
rfm
db90ab6bb9
fix leak spotted by Larry Campbell
2024-01-05 08:22:24 +00:00
Riccardo Mottola
08858caf29
cleanup biolerplate comments, enable autogsdoc comments, cleanup some old RCS/CVS tags, fix emails
2023-12-23 02:44:50 +01:00
rfm
b4feee311f
Fix for #334
2023-11-14 21:20:50 +00:00
rfm
e027ff8585
Minor documentation tweaks
2023-10-30 16:56:05 +00:00
Richard Frith-Macdonald
c76ebf2962
Replaced IF_NO_GC() macro calls with the more descriptive IF_NO_ARC()
...
and deprecate it. Searched for and removed obsolete references to
garbage collection in comments and documentation.
2022-02-17 10:08:18 +00:00
Frederik Seiffert
0af2c6de72
Add required cast in case nil is not defined as id
2021-11-13 22:16:46 +01:00
Richard Frith-Macdonald
2b840550f0
Improve logging of an exception when posting a notification so that, if possible, we include the details of the notification being posted.
2020-10-29 09:04:51 +00:00
Gregory John Casamento
753c907938
Fix address for FSF and License name in all headers in base
2019-12-09 18:36:00 -05:00
Richard Frith-MacDonald
71941dd24d
cleanup changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39762 72102866-910b-0410-8b05-ffd578937521
2016-05-14 09:34:01 +00:00
Richard Frith-MacDonald
d40d219015
removal of garbage collection
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@39608 72102866-910b-0410-8b05-ffd578937521
2016-03-25 11:15:28 +00:00
Quentin Mathe
e51bd0979d
Added -addObserverForName:selector:queue:usingBlock: to NSNotificationCenter
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37691 72102866-910b-0410-8b05-ffd578937521
2014-02-14 14:23:09 +00:00
Richard Frith-MacDonald
ed09c55959
leak detection improvements
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@37003 72102866-910b-0410-8b05-ffd578937521
2013-08-22 15:44:54 +00:00
Richard Frith-MacDonald
8461fbcd53
remove CHEATGC for small strings ... did David change to use weak references?
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36785 72102866-910b-0410-8b05-ffd578937521
2013-07-01 11:37:58 +00:00
Richard Frith-MacDonald
360e1f6ec6
some small fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36616 72102866-910b-0410-8b05-ffd578937521
2013-05-13 07:09:41 +00:00
Richard Frith-MacDonald
a081b3d828
fix bug #38680
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@36489 72102866-910b-0410-8b05-ffd578937521
2013-04-08 08:33:12 +00:00
Richard Frith-MacDonald
66364a9465
avoid a few compiler warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35867 72102866-910b-0410-8b05-ffd578937521
2012-12-08 22:16:20 +00:00
Richard Frith-MacDonald
8e79a9764f
avoid a few warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34665 72102866-910b-0410-8b05-ffd578937521
2012-01-30 11:31:40 +00:00
Richard Frith-MacDonald
523366101e
more leak cleanup stuff
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
2011-06-19 13:34:17 +00:00
Richard Frith-MacDonald
9831216043
Start stuff for handling cleanup on process exit.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33344 72102866-910b-0410-8b05-ffd578937521
2011-06-19 09:26:03 +00:00
Richard Frith-MacDonald
ba24ce0841
minor map/hash table compatibility tweaks and simplify notification center
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33210 72102866-910b-0410-8b05-ffd578937521
2011-05-31 06:46:17 +00:00
Fred Kiefer
a3cdc403cb
Remove compiler warnings.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33184 72102866-910b-0410-8b05-ffd578937521
2011-05-28 20:27:20 +00:00
David Chisnall
0a6a7216ac
Accidentally left some non-GC code enabled in GC mode.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33169 72102866-910b-0410-8b05-ffd578937521
2011-05-28 13:09:57 +00:00
David Chisnall
50e06b7cca
__weak is only allowed on ivars and globals, so we need to turn the Observation structure into a class.
...
Richard:
I've run the test suite with GC disabled on Linux/x86-64 and nothing broke, but can you please review these changes carefully anyway?
We seem to be using a complex custom allocator for a structure that is not allocated or deallocated. In typical programs, it looks like we're actually just wasting memory by using the memory pool here. Looking at the commit log, this hasn't really been touched for about 10 years, so possibly the assumptions are no longer valid. I can only see this being useful if someone is adding and removing hundreds of notification observers every run loop iteration. Do you have code that does this? If not, then can I remove the custom allocator?
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33165 72102866-910b-0410-8b05-ffd578937521
2011-05-28 12:49:52 +00:00
David Chisnall
b08b2d0f34
More tweaks for garbage collection mode, including making NSNotificationCenter use weak pointers (things are never removed if it uses strong pointers because they remove themselves in the -dealloc method, which is never called, and can't remove themselves in the -finalize method because the -finalize method would not be called until after they have been removed - this is consistent with Apple behaviour).
...
Gorm now works correctly when built with GC enabled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33109 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:15:08 +00:00
Richard Frith-MacDonald
c0979f8d17
64bit safety fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32731 72102866-910b-0410-8b05-ffd578937521
2011-03-29 08:16:02 +00:00
Richard Frith-MacDonald
05e186ac65
fix gc heade rlocation.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
Richard Frith-MacDonald
7047f9e6d4
more changes to avoid leak warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32093 72102866-910b-0410-8b05-ffd578937521
2011-02-12 09:00:18 +00:00
Richard Frith-MacDonald
8d5395f884
tweak
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32091 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:57:06 +00:00
Richard Frith-MacDonald
705e1a32ca
Attempts to prevent leak warnings from static analyser
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32090 72102866-910b-0410-8b05-ffd578937521
2011-02-12 06:51:42 +00:00
Richard Frith-MacDonald
39fc4419b0
further cleanup ... always use -zone method to get an object's zone ...
...
so people can safely write subclasses using different allocation schemes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29847 72102866-910b-0410-8b05-ffd578937521
2010-03-05 09:30:18 +00:00
Richard Frith-MacDonald
7cc69dfaae
Simplify header inclusion
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
21d597e740
merge back reorganisation branch
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
Richard Frith-MacDonald
61b93f7a45
fix weak pointer error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28061 72102866-910b-0410-8b05-ffd578937521
2009-03-10 11:10:27 +00:00
Richard Frith-MacDonald
bc9468c45f
More moves towards OSX 10.5 GC compatibility.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
Richard Frith-MacDonald
d3da55f975
fix error removing collected observers
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27844 72102866-910b-0410-8b05-ffd578937521
2009-02-11 09:31:30 +00:00
Richard Frith-MacDonald
9b44e4c7c5
minor fixups to last lot of GC changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27786 72102866-910b-0410-8b05-ffd578937521
2009-02-04 20:19:27 +00:00
Richard Frith-MacDonald
967534bb8d
explicitly use collectable memory
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27784 72102866-910b-0410-8b05-ffd578937521
2009-02-04 17:41:19 +00:00
Richard Frith-MacDonald
0e2e58bf87
simplify GC ... don't need to add new zone
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27783 72102866-910b-0410-8b05-ffd578937521
2009-02-04 16:45:10 +00:00
Richard Frith-MacDonald
e82bd33ab1
garbage collecting fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27638 72102866-910b-0410-8b05-ffd578937521
2009-01-20 10:15:52 +00:00
Richard Frith-MacDonald
6bccff5fc7
GC changes for MacOS-X compatiblity
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27630 72102866-910b-0410-8b05-ffd578937521
2009-01-19 11:00:33 +00:00