Commit graph

88 commits

Author SHA1 Message Date
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
Richard Frith-MacDonald
731ed0c009 remove bogus line
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27596 72102866-910b-0410-8b05-ffd578937521
2009-01-14 07:10:07 +00:00
Gregory John Casamento
237ee4134c * Source/GSArray.m
* Source/NSNotificationCenter.m: Quick fixes for two compiler
	errors introduced by previous change.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27594 72102866-910b-0410-8b05-ffd578937521
2009-01-13 23:38:02 +00:00
Richard Frith-MacDonald
940de12cab More garbage collection updates/fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27590 72102866-910b-0410-8b05-ffd578937521
2009-01-13 15:57:38 +00:00
Richard Frith-MacDonald
b830b55dee Change finalization to match MacOS-X
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27581 72102866-910b-0410-8b05-ffd578937521
2009-01-12 18:36:37 +00:00
Richard Frith-MacDonald
b2b14398d2 allow developers more time to adapt to LGPLv3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
Richard Frith-MacDonald
7084039296 try to build with correct ffcall/ffi depending on target system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26483 72102866-910b-0410-8b05-ffd578937521
2008-05-01 20:14:05 +00:00
Richard Frith-MacDonald
62559023b9 Update to GPL3 and LGPL3
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
Richard Frith-MacDonald
5878db6b7e Minor macos-x compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25467 72102866-910b-0410-8b05-ffd578937521
2007-09-09 07:53:20 +00:00
Richard Frith-MacDonald
0ebe68ae48 More code tidyups and NSError updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23921 72102866-910b-0410-8b05-ffd578937521
2006-10-20 10:56:27 +00:00
Richard Frith-MacDonald
f645b84196 Resolve bug 17464
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23488 72102866-910b-0410-8b05-ffd578937521
2006-09-13 10:20:49 +00:00
Richard Frith-MacDonald
c2e8c881e7 Some cleanup in preparation for next release.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22618 72102866-910b-0410-8b05-ffd578937521
2006-03-08 11:28:59 +00:00
Richard Frith-Macdonald
da398713b7 More sized type tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22293 72102866-910b-0410-8b05-ffd578937521
2006-01-11 09:32:13 +00:00
Richard Frith-Macdonald
dc79072c9f Minor documentation tweak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22281 72102866-910b-0410-8b05-ffd578937521
2006-01-10 07:24:54 +00:00
Richard Frith-Macdonald
df079ffd3f Hacks by Greg to placate 4.1 compiler. Just in case we can't persuade them
to 'fix' cast to union with an 'id' member.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21783 72102866-910b-0410-8b05-ffd578937521
2005-10-07 09:57:51 +00:00
Adam Fedor
fcc13ccd0f * Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
Richard Frith-Macdonald
db7b22a4fb Tidy up use of white space so we have it after if/for/while and not after (
or before ) or padding at end of line.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
Richard Frith-Macdonald
94a96ae889 Minor twekas to fix three bug reports.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20368 72102866-910b-0410-8b05-ffd578937521
2004-11-22 11:48:50 +00:00
Richard Frith-Macdonald
fb3563bc50 Minor reliability tweaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20335 72102866-910b-0410-8b05-ffd578937521
2004-11-10 11:45:08 +00:00
Richard Frith-Macdonald
3819dc6661 Thread safety fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20179 72102866-910b-0410-8b05-ffd578937521
2004-09-29 08:47:25 +00:00
Adrian Robert
bda35fceb3 added GSdoc comments to class, method, and function declarations; for some classes some comments were already in the source file (not the header), in which case further comments were added here; otherwise comments were put in the headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19588 72102866-910b-0410-8b05-ffd578937521
2004-06-22 22:40:40 +00:00
Richard Frith-Macdonald
bedec3d02a Fix for possible deadlock in notification system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18988 72102866-910b-0410-8b05-ffd578937521
2004-03-31 13:23:38 +00:00
Wim (Willem Rein) Oudshoorn
084ba68705 ([-removeObserver:]): Do not raise an exception
when removing nil observer, jusr return.  This is WO4.5 and MacOSX behaviour.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18971 72102866-910b-0410-8b05-ffd578937521
2004-03-30 14:09:03 +00:00
Wim (Willem Rein) Oudshoorn
5d95a39e91 ([NSNotificationCenter -removeObserver:name:object:]):
Just return if all arguments are nil instead of throwing exception.  The new
behaviour is compatible with MacOSX.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18849 72102866-910b-0410-8b05-ffd578937521
2004-03-16 08:42:35 +00:00
Alexander Malmberg
3c7cd0b0ba Remove uses of the 'casts as lvalues' gcc extension.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18534 72102866-910b-0410-8b05-ffd578937521
2004-02-04 00:14:00 +00:00
Richard Frith-Macdonald
61e0197b79 Use locking even when single threaded ... temporary hack
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18042 72102866-910b-0410-8b05-ffd578937521
2003-11-03 12:32:46 +00:00
Richard Frith-Macdonald
33cd489562 Commit file accidentally omitted earlier.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18039 72102866-910b-0410-8b05-ffd578937521
2003-11-03 06:27:52 +00:00
David Ayers
ac30183cd6 Header reorganizsateion - Please refer to ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00