Commit graph

5347 commits

Author SHA1 Message Date
rmottola
bb50c0a9a2 Move declaration upwards to fix compile error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29519 72102866-910b-0410-8b05-ffd578937521
2010-02-09 08:08:26 +00:00
rfm
3dce849c75 re-instate cleaned up version of string proxy code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29518 72102866-910b-0410-8b05-ffd578937521
2010-02-09 06:07:10 +00:00
rfm
4e026f6126 explicit initialise of handler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29516 72102866-910b-0410-8b05-ffd578937521
2010-02-08 20:33:40 +00:00
rfm
b40f7131a7 remove redundant line and improve comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29515 72102866-910b-0410-8b05-ffd578937521
2010-02-08 20:24:12 +00:00
rfm
29b9911e0d Farious fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29513 72102866-910b-0410-8b05-ffd578937521
2010-02-08 17:52:36 +00:00
jonathanosx
dfdd5d3483 Removed redundant call to _NSFoundationUncaughtExceptionHandler and added else blocks to allow a set uncaught exception handler to NOT exit if capable of recovering.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29511 72102866-910b-0410-8b05-ffd578937521
2010-02-08 17:15:57 +00:00
rfm
1412e70c06 Coimplete operation queue implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29508 72102866-910b-0410-8b05-ffd578937521
2010-02-08 10:34:27 +00:00
rfm
caa3898ca2 NSOperationQueue additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29495 72102866-910b-0410-8b05-ffd578937521
2010-02-06 17:10:16 +00:00
rfm
ad5c68529b tweak for OSX compatibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29480 72102866-910b-0410-8b05-ffd578937521
2010-02-05 11:41:24 +00:00
rfm
845bfe3c4c don't try to cleanup on main thread exit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29478 72102866-910b-0410-8b05-ffd578937521
2010-02-04 18:04:13 +00:00
rfm
64cbdbcbe9 implement and document NSOperation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29476 72102866-910b-0410-8b05-ffd578937521
2010-02-04 16:47:45 +00:00
rfm
a2f2b240b1 Corrected last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29475 72102866-910b-0410-8b05-ffd578937521
2010-02-04 08:15:09 +00:00
rfm
fe8f7460bf Fixup bad indentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29473 72102866-910b-0410-8b05-ffd578937521
2010-02-03 22:13:48 +00:00
jonathanosx
d42504f10a Fix several problems with lockWhenCondition:beforeDate:
First -- it needs to use timeIntervalSince1970 to be using the same reference date required for pthread_cond_timedwait
Second -- lockWhenCondition needs to loop because pthread_cond_timedwait can return prior to delay expiring (but with the wrong condition).
Third -- Internally the lock was incorrectly being unlocked on a delayed acquire (and YES return).  And was incorrectly being unlocked a second time when the timeout expired.

Also, fixed a problem with tryLockWhenCondition:
By calling lockWhenCondition: it would incorrectly report a deadlock (rather than just return no) when we already have the lock.

All these changes are in line with expected and documented behavior for NSLock.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29472 72102866-910b-0410-8b05-ffd578937521
2010-02-03 21:15:03 +00:00
rfm
b20bb71ccc use usleep for small intervals
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29469 72102866-910b-0410-8b05-ffd578937521
2010-02-03 09:45:45 +00:00
rfm
612ed04160 windows tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29468 72102866-910b-0410-8b05-ffd578937521
2010-02-03 09:31:59 +00:00
rfm
59114c78f1 exit when main thread exits
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29462 72102866-910b-0410-8b05-ffd578937521
2010-02-02 14:25:58 +00:00
rfm
56f4c389a0 thread termination fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29461 72102866-910b-0410-8b05-ffd578937521
2010-02-01 21:08:45 +00:00
fredkiefer
8ec647b44d Get root index from the binary property list data and use this to return the root object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29449 72102866-910b-0410-8b05-ffd578937521
2010-01-30 12:47:50 +00:00
theraven
4e837995f6 Made NSString +constantStringClass return the constant string class, rather than whatever configure guessed the constant string class was.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29405 72102866-910b-0410-8b05-ffd578937521
2010-01-25 16:01:10 +00:00
rfm
e0d9b95bba windows tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29397 72102866-910b-0410-8b05-ffd578937521
2010-01-25 09:58:52 +00:00
rfm
b3a79482e5 Quick hack to try to fix initialisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29393 72102866-910b-0410-8b05-ffd578937521
2010-01-24 17:54:31 +00:00
rfm
1890339060 Reinstate working symbolic stack trace code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29392 72102866-910b-0410-8b05-ffd578937521
2010-01-24 17:13:03 +00:00
theraven
11b2394a08 Fixed realloc() call.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29391 72102866-910b-0410-8b05-ffd578937521
2010-01-24 16:27:16 +00:00
rfm
6b1daf89b5 the -init method should return nil
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29381 72102866-910b-0410-8b05-ffd578937521
2010-01-24 06:53:49 +00:00
rfm
3ae126279b Apply patch to switch completely to using pthreads
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29367 72102866-910b-0410-8b05-ffd578937521
2010-01-23 17:00:13 +00:00
rfm
f0aa4a6bf3 reorganise a little avoiding redundant system calls (setpgrp and ioctl TIOCNOTTY
are not needed if setsid is used).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29334 72102866-910b-0410-8b05-ffd578937521
2010-01-20 17:17:12 +00:00
rfm
68e92f70ad remove some duplicate code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29329 72102866-910b-0410-8b05-ffd578937521
2010-01-20 12:03:37 +00:00
rfm
244258dabd make sure we remove task from controlling terminal.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29327 72102866-910b-0410-8b05-ffd578937521
2010-01-20 10:27:08 +00:00
qmathe
4c33ef3076 Mac OS X compatibility tweaks for NSFormatter coding and copying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29268 72102866-910b-0410-8b05-ffd578937521
2010-01-11 22:08:21 +00:00
rfm
acab61a463 Add assertions to trap runtime error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29263 72102866-910b-0410-8b05-ffd578937521
2010-01-11 13:54:32 +00:00
rfm
eacf55249b Tidied for consistency
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29262 72102866-910b-0410-8b05-ffd578937521
2010-01-11 12:49:18 +00:00
rfm
cb1ee03381 fixups in changes made to avoid compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29261 72102866-910b-0410-8b05-ffd578937521
2010-01-11 12:38:37 +00:00
rfm
55a9ce06d7 Fix error in class for zombie
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29259 72102866-910b-0410-8b05-ffd578937521
2010-01-11 11:29:44 +00:00
rfm
863022859d avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29258 72102866-910b-0410-8b05-ffd578937521
2010-01-11 11:23:03 +00:00
fredkiefer
2d20ebc621 Set the concrete class, when this isn't already set. This was causing
compilation problems on gui with gcc 4.4


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29257 72102866-910b-0410-8b05-ffd578937521
2010-01-11 11:12:02 +00:00
rfm
ad6ba7c687 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29255 72102866-910b-0410-8b05-ffd578937521
2010-01-10 15:43:05 +00:00
rfm
072c124d08 Tweaks for building with clang
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29254 72102866-910b-0410-8b05-ffd578937521
2010-01-10 14:38:16 +00:00
rfm
cc9250b32e tweak to avoid clang compilation failure
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29251 72102866-910b-0410-8b05-ffd578937521
2010-01-09 19:26:59 +00:00
rfm
91e22a6407 OSX compatibility update for newline character set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29249 72102866-910b-0410-8b05-ffd578937521
2010-01-09 07:45:18 +00:00
rfm
25ad93b2f7 Fix for exception handling with libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29247 72102866-910b-0410-8b05-ffd578937521
2010-01-09 07:24:05 +00:00
ericwa
2c28fd3e4c Implement +[NSCharacterSet newlineCharacterSet]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29219 72102866-910b-0410-8b05-ffd578937521
2010-01-05 22:28:12 +00:00
theraven
0bd156fa4a Refactored last two commits so that all of the real code is in GSIMap.h and is just called from the relevant classes, rather than copied and pasted everywhere. Also added fast enumeration support to GSCountedSet.
I think that's all of the classes that use GSIMaps for their implementation now fully supporting fast enumeration.  If there are any that I've missed, then just copy the methods from GSSet to implement them.  You just need to set the mutations pointer to something sensible (i.e. something that will change if the collection mutates) and then call the new GSIMapCountByEnumeratingWithStateObjectsCount() function.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29181 72102866-910b-0410-8b05-ffd578937521
2009-12-29 16:49:07 +00:00
theraven
55e8317350 Added fast enumeration support to GS[Mutable]Dictionary. This follows exactly the same pattern (and uses the same code as) GSSet. It's probably worth factoring out this code, because it is now used in four methods with almost no variation between them.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29180 72102866-910b-0410-8b05-ffd578937521
2009-12-29 16:21:01 +00:00
theraven
cee58ca099 Added fast enumeration to NSSet. This changed the layout of GSMutableSet, adding a _version ivar, but this is a private class so it doesn't change the public ABI. All mutator methods in GSMutableSet must increment this variable, allowing thread-safe fast enumeration.
As with GSArray, GSSet uses its isa pointer for detecting mutations.  This may change as a result of adding KVO notifications, so it might not be the best solution, but I can't currently think of a way we could catch isa changing to [GSMutableSet class] and not changing to a hidden class...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29179 72102866-910b-0410-8b05-ffd578937521
2009-12-29 15:59:14 +00:00
theraven
c5cf5e4535 Added implementations of some of the new (10.6) NSArray methods that take blocks as arguments. These all use the new GSBlocks.h macros, so compile cleanly with GCC, but can be used by code compiled by clang.
Some of these implementations are not as efficient as they could be (especially the ones that take an NSIndexSet as the first argument).  They also don't yet support concurrent enumeration.  Apple implements these using Grand Central.  We could possibly have a background thread that we send these things to (or use GCD if libdispatch is available).  It's not worth spawning a new thread for them, except in exceptional circumstances (and, unfortunately, we can't easily tell how expensive a single iteration of a block is.  Possibly we could time one block invocation, and if it's longer than some threshold make it concurrent, but it's probably not worth the effort).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29176 72102866-910b-0410-8b05-ffd578937521
2009-12-27 16:49:52 +00:00
theraven
23b31db6b3 Added -enumerateObjectsUsingBlock: implementation to NSArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29174 72102866-910b-0410-8b05-ffd578937521
2009-12-27 15:25:12 +00:00
theraven
301520a1d7 Tidied up some compiler warnings in last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29172 72102866-910b-0410-8b05-ffd578937521
2009-12-27 14:41:15 +00:00
theraven
c62a66443c Fixed missing } in last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29171 72102866-910b-0410-8b05-ffd578937521
2009-12-27 14:37:41 +00:00
theraven
9d55a856cf Added private GSFastEnumeration header. This defines two macros that allow fast enumeration to be used inside GNUstep. Use, for example:
NSArray *a=  [NSArray arrayWithObjects: @"a", @"b", @"c", nil];
FOR_IN(NSString*, o, a)
	NSLog(@"%@", o);
END_FOR_IN(a)

This is equivalent to:

for (NSString *o in a)
{
	NSLog(@"%@", o);
}

On clang, it will be expanded to exactly that.  With GCC, it will be expanded to something equivalent to the code that Clang (or Apple GCC) would expand this to.

This is a private GNUstep header and is not intended for general use.  Outside of GNUstep, please use fast enumeration directly.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29170 72102866-910b-0410-8b05-ffd578937521
2009-12-27 14:34:10 +00:00
wlux
2aee2c5236 Add an auxiliary method to NSUndoManager to support coalescing undo
operations in NSTextView.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29163 72102866-910b-0410-8b05-ffd578937521
2009-12-22 23:43:38 +00:00
gcasa
e66625cfdf Conditionally compile weak attribute.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29159 72102866-910b-0410-8b05-ffd578937521
2009-12-22 22:12:56 +00:00
theraven
fffe50ffdc Added call to objc_create_block_classes_as_subclasses_of() in NSObject's +load method. This is called as soon as NSObject is loaded and creates the _NSBlock family of classes, which are statically allocated in the runtime but not statically initialised. If you create blocks without linking GNUstep-base, the isa pointer in the block will point to a class that has all of its fields set to 0.
Any blocks will have their isa pointer set to the two classes statically allocated in libobjc, but these classes can't be used for message lookup (or introspection) until after the call.  This means that you can't send messages to blocks until after NSObject's +load method has been called.  This shouldn't be a problem in most code, but if you use __attribute__((constructor)) instead of a +load method then be careful about sending messages to blocks (you can still call them as normal). 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29144 72102866-910b-0410-8b05-ffd578937521
2009-12-20 16:59:41 +00:00
gcasa
b7894ad188 * Source/GNUmakefile: Add synchronization.m to GNU_MFILES
and correct some formatting.
	* Source/synchronization.m: Fix @synchronize support on
	Windows.   The __weak__ attribute doesn't work on Windows.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29140 72102866-910b-0410-8b05-ffd578937521
2009-12-19 18:52:05 +00:00
rfm
d56ff38a2a Readability tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29115 72102866-910b-0410-8b05-ffd578937521
2009-12-11 15:13:16 +00:00
gcasa
da7701eb6f * Source/synchronization.m: Corrected header text.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29114 72102866-910b-0410-8b05-ffd578937521
2009-12-11 06:42:12 +00:00
rfm
c84063c3a8 GSMutableString inherits hash implementation from GSString
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29105 72102866-910b-0410-8b05-ffd578937521
2009-12-07 05:10:50 +00:00
rfm
f8c0ecf186 improve string comparison.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29104 72102866-910b-0410-8b05-ffd578937521
2009-12-07 05:02:55 +00:00
rfm
7abb743f91 Move hash implementation to GSString
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29096 72102866-910b-0410-8b05-ffd578937521
2009-12-04 09:52:14 +00:00
rfm
ed0d9c8014 Perform port/name cleanup on startup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29095 72102866-910b-0410-8b05-ffd578937521
2009-12-03 09:07:10 +00:00
rfm
b025de4a73 fixup missing notification changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29087 72102866-910b-0410-8b05-ffd578937521
2009-12-01 08:30:41 +00:00
rfm
a4d6e16f4c clarify
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29086 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:49:38 +00:00
rfm
119de7ab88 clarify doccumentation a little
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29085 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:47:29 +00:00
rfm
845201b6f5 avoid warning log about unexpected response
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29075 72102866-910b-0410-8b05-ffd578937521
2009-11-27 13:05:26 +00:00
rfm
9a772dd309 improve error message
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29074 72102866-910b-0410-8b05-ffd578937521
2009-11-27 10:55:42 +00:00
rfm
1f22968eb4 Attempt notification queue fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29073 72102866-910b-0410-8b05-ffd578937521
2009-11-27 10:42:33 +00:00
rfm
ee898e98e1 stricter check of plist keys
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29071 72102866-910b-0410-8b05-ffd578937521
2009-11-27 09:19:02 +00:00
rfm
39108cd5d9 encoding fixup for xml with bad dictionary key
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29070 72102866-910b-0410-8b05-ffd578937521
2009-11-27 09:10:15 +00:00
rfm
b244c84d70 Tweak for serializing 'xml' property lists
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29069 72102866-910b-0410-8b05-ffd578937521
2009-11-27 08:44:43 +00:00
rfm
fb3ff1f085 pass more info to notification functions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29068 72102866-910b-0410-8b05-ffd578937521
2009-11-27 07:53:38 +00:00
rfm
703dad767d Add osx compatibility option
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29067 72102866-910b-0410-8b05-ffd578937521
2009-11-26 22:15:39 +00:00
rfm
3c8d8797a6 Fix for XML plist parsing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29066 72102866-910b-0410-8b05-ffd578937521
2009-11-26 21:57:26 +00:00
wlux
d7259afa3c Write out proper XML encoding for control characters. Fixes a bug
where menu positions in GUI programs would appear not persistent.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29064 72102866-910b-0410-8b05-ffd578937521
2009-11-26 17:34:16 +00:00
rfm
3a390b4d65 better attempt at workaround for broken libobjc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29057 72102866-910b-0410-8b05-ffd578937521
2009-11-24 20:39:31 +00:00
rfm
43cda8ed2c tidy
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29049 72102866-910b-0410-8b05-ffd578937521
2009-11-23 18:07:25 +00:00
theraven
5e3de82c70 Added fall-back line for forwarding. Now -forwardingProxyForSelector: should work on all runtimes, with all ABIs, it will just be painfully slow on the GCC runtime and the legacy ABI.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29048 72102866-910b-0410-8b05-ffd578937521
2009-11-23 16:43:08 +00:00
rfm
d9749d603d Documentation generation improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29047 72102866-910b-0410-8b05-ffd578937521
2009-11-23 09:42:18 +00:00
rfm
f3eaac4188 minor debug improvement
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28988 72102866-910b-0410-8b05-ffd578937521
2009-11-10 09:14:57 +00:00
rfm
ab08a4642b Have -drain call -release
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28950 72102866-910b-0410-8b05-ffd578937521
2009-11-04 05:51:34 +00:00
rfm
43e2bd29f4 Avoid memory leak and improve performance for common structures.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28939 72102866-910b-0410-8b05-ffd578937521
2009-11-02 18:32:35 +00:00
fedor
c3f8da55d7 * Source/Makefile.postamble: Add flag filter for libgnustep-base-entry.m (for GCC 4.4 on MinGW).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28889 72102866-910b-0410-8b05-ffd578937521
2009-10-26 18:01:08 +00:00
wlux
56ba86ce4c Prevent potential deadlock in multithreaded programs due to an
allocation lock that was never unlocked.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28859 72102866-910b-0410-8b05-ffd578937521
2009-10-20 05:25:04 +00:00
rfm
8755ceb15b simplify for older compilers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28821 72102866-910b-0410-8b05-ffd578937521
2009-10-13 09:59:34 +00:00
rfm
e054b0321e fix missing macro
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28817 72102866-910b-0410-8b05-ffd578937521
2009-10-12 19:04:21 +00:00
rfm
d8a2ff7287 new initialisation function.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28806 72102866-910b-0410-8b05-ffd578937521
2009-10-12 14:38:49 +00:00
rfm
3e76492092 patch for kvo struct setters by Eric Wasylishen
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28793 72102866-910b-0410-8b05-ffd578937521
2009-10-11 04:57:34 +00:00
rfm
6bf3a906e9 cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28787 72102866-910b-0410-8b05-ffd578937521
2009-10-10 08:16:17 +00:00
rfm
4c004d6da5 Fix files missed from last ocmmit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28780 72102866-910b-0410-8b05-ffd578937521
2009-10-07 14:54:37 +00:00
rfm
16ce1cd7b3 lrge changes to remove mframe
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
2009-10-05 16:00:28 +00:00
rfm
2fc494c446 a bit step towards removing obsolete mframe code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
rfm
de17e037eb fix leak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28771 72102866-910b-0410-8b05-ffd578937521
2009-10-04 10:05:14 +00:00
rfm
a1e0763383 Code cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28770 72102866-910b-0410-8b05-ffd578937521
2009-10-04 09:53:19 +00:00
rfm
503d05b4d4 more tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28769 72102866-910b-0410-8b05-ffd578937521
2009-10-04 08:43:56 +00:00
rfm
e6b4aa2563 cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28768 72102866-910b-0410-8b05-ffd578937521
2009-10-04 07:46:01 +00:00
rfm
182a297143 bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28767 72102866-910b-0410-8b05-ffd578937521
2009-10-03 18:34:44 +00:00
rfm
04d6ed096e connection root object fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28766 72102866-910b-0410-8b05-ffd578937521
2009-10-03 15:35:40 +00:00
rfm
d5df438a7d explicitly specify types in union
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28762 72102866-910b-0410-8b05-ffd578937521
2009-10-02 15:14:42 +00:00
rfm
d97f916035 Default to an empty array type
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28761 72102866-910b-0410-8b05-ffd578937521
2009-10-02 14:41:25 +00:00
rfm
1cd909d1e6 Fix types in array so alignment should be ok
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28760 72102866-910b-0410-8b05-ffd578937521
2009-10-02 14:01:04 +00:00
rfm
1460f239ce locale fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28756 72102866-910b-0410-8b05-ffd578937521
2009-09-30 20:44:41 +00:00
rfm
20f499656f mingw32 improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28755 72102866-910b-0410-8b05-ffd578937521
2009-09-30 20:28:42 +00:00
rfm
887039424c BOOL must be YES or NO
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28754 72102866-910b-0410-8b05-ffd578937521
2009-09-30 20:12:14 +00:00
theraven
f4ab1c1264 Fixed bug in -lockWhenCondition:beforeDate: (was not releasing mutex correctly).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28752 72102866-910b-0410-8b05-ffd578937521
2009-09-30 12:40:00 +00:00
rfm
b6159c95bc fixup to work with old compilers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28750 72102866-910b-0410-8b05-ffd578937521
2009-09-27 19:31:31 +00:00
rfm
13da6efeaf fixups for old openbsd system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28749 72102866-910b-0410-8b05-ffd578937521
2009-09-27 18:48:03 +00:00
rfm
30f0a67889 fixups for win32 pipe management
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28747 72102866-910b-0410-8b05-ffd578937521
2009-09-27 16:07:50 +00:00
rfm
739422c5aa fixup header for index sets to contain array of ranges.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28746 72102866-910b-0410-8b05-ffd578937521
2009-09-27 11:32:35 +00:00
rfm
5434bd0735 osx compat tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28734 72102866-910b-0410-8b05-ffd578937521
2009-09-24 18:34:46 +00:00
rfm
698c421923 fix error in last mod ... support paths containing only a slash
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28733 72102866-910b-0410-8b05-ffd578937521
2009-09-24 15:24:24 +00:00
theraven
1c08b79f6a Added configure thingy to detect presence of runtime.h. Autoconf stuff by Wonfgang Lux.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28730 72102866-910b-0410-8b05-ffd578937521
2009-09-23 11:52:32 +00:00
rfm
d30b738105 OSX compatibility tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28727 72102866-910b-0410-8b05-ffd578937521
2009-09-23 10:07:13 +00:00
rfm
7a35ac6ccb fix caching if external entity
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28704 72102866-910b-0410-8b05-ffd578937521
2009-09-18 11:47:37 +00:00
rfm
d8839e23ce Remove spurous NSLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28703 72102866-910b-0410-8b05-ffd578937521
2009-09-18 10:29:41 +00:00
rfm
7b0573fc9f Fix bug shifting indexes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28701 72102866-910b-0410-8b05-ffd578937521
2009-09-17 14:18:13 +00:00
rfm
1c97fb7e67 fix typos
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28694 72102866-910b-0410-8b05-ffd578937521
2009-09-17 08:52:03 +00:00
rfm
5a8fbf7417 tweak header parsing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28687 72102866-910b-0410-8b05-ffd578937521
2009-09-15 15:28:35 +00:00
rfm
a74def5b73 Log excess data.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28686 72102866-910b-0410-8b05-ffd578937521
2009-09-15 11:51:08 +00:00
rfm
078e2b2442 Add fix for bug #27446
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28673 72102866-910b-0410-8b05-ffd578937521
2009-09-14 20:33:12 +00:00
rfm
46b846fefe tweak workaround for kernel bug.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28669 72102866-910b-0410-8b05-ffd578937521
2009-09-14 14:37:13 +00:00
rfm
72961a231a workaround for kernel bug
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28668 72102866-910b-0410-8b05-ffd578937521
2009-09-14 12:44:52 +00:00
rfm
1a11998ecf Cleanups and minor bugfixes for new code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28665 72102866-910b-0410-8b05-ffd578937521
2009-09-12 07:37:00 +00:00
rfm
88fd37ca57 fix mingw keepalive lost in reorganisation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28663 72102866-910b-0410-8b05-ffd578937521
2009-09-11 19:19:05 +00:00
theraven
6ce4c9788c Rewrote exception callstack generation to use the backtrace() and
backtrace_symbols() code.  Implemented the -callStackSymbols method from
	10.5 using this.  For this to be enabled, the configure script will
	require a small modification, which Gregory will add later.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28662 72102866-910b-0410-8b05-ffd578937521
2009-09-11 16:14:45 +00:00
theraven
023f3b5e17 Added implementations of the hooks provided by the new runtime. This brings
NSObject up to feature-parity with the OS X 10.5 implementation when using the
new runtime and up to feature-parity with the 10.6 implementation if you are
using the new runtime and compiling with clang.

Also removes the objc_mutex_wibble stuff from NSObject in favour of just using
NSLocks (which, with the new implementation, are now faster than using
objc_mutex_stuff).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28657 72102866-910b-0410-8b05-ffd578937521
2009-09-10 20:14:42 +00:00
rfm
4f13b89771 make timers more robust
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28656 72102866-910b-0410-8b05-ffd578937521
2009-09-10 16:41:06 +00:00
rfm
b510b0d659 further simplify and add comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28655 72102866-910b-0410-8b05-ffd578937521
2009-09-10 15:30:55 +00:00
rfm
99a9887e35 simplified
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28654 72102866-910b-0410-8b05-ffd578937521
2009-09-10 14:48:37 +00:00
rfm
7c8e06d58e OSX compatibility tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28653 72102866-910b-0410-8b05-ffd578937521
2009-09-10 14:22:14 +00:00
rfm
82bde6a773 add debug warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28647 72102866-910b-0410-8b05-ffd578937521
2009-09-09 10:02:26 +00:00
rfm
1ed217861f minor simplification
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28645 72102866-910b-0410-8b05-ffd578937521
2009-09-09 08:21:51 +00:00
rfm
47003a36d3 avoid duplicate calls to finalize
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28639 72102866-910b-0410-8b05-ffd578937521
2009-09-08 20:51:18 +00:00
rfm
4cc5cae469 thread exit improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28638 72102866-910b-0410-8b05-ffd578937521
2009-09-08 20:32:52 +00:00
rfm
3263c76ab3 Yield if asked to sleep
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28636 72102866-910b-0410-8b05-ffd578937521
2009-09-08 17:56:58 +00:00
rfm
0276710916 assum presence of pthreads
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28633 72102866-910b-0410-8b05-ffd578937521
2009-09-08 16:32:56 +00:00
rfm
963ffae92d remove publicly visible ivars for future abi stability.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28626 72102866-910b-0410-8b05-ffd578937521
2009-09-07 16:25:04 +00:00
rfm
f3cf3c294e simplify -description methods and improve warning logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28622 72102866-910b-0410-8b05-ffd578937521
2009-09-07 13:49:48 +00:00
rfm
47f75d034c Add warning message if stuck waiting for a response for over 5 min
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28621 72102866-910b-0410-8b05-ffd578937521
2009-09-07 11:29:50 +00:00
rfm
c666d14923 Add warning logs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28620 72102866-910b-0410-8b05-ffd578937521
2009-09-07 09:53:27 +00:00
rfm
b58c9eb9c8 Small bugfixes and OSX compatibility tweak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28616 72102866-910b-0410-8b05-ffd578937521
2009-09-06 14:37:07 +00:00
rfm
0b2ee605cb Fix wrong version commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28613 72102866-910b-0410-8b05-ffd578937521
2009-09-06 11:02:57 +00:00
rfm
b367e467d6 Avoid exposing pthread details in NSLock.h (as much as possible without
impacting performance).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28612 72102866-910b-0410-8b05-ffd578937521
2009-09-06 10:56:04 +00:00
theraven
e772c54dfa Added weak attribute to the synchronization functions so that they won't replace equivalent functions provided by the runtime, if available.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28611 72102866-910b-0410-8b05-ffd578937521
2009-09-05 18:49:48 +00:00
theraven
b29e4570e7 Added enumeration mutation function, called by code automatically inserted by the compiler when a collection mutates during fast enumeration.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28610 72102866-910b-0410-8b05-ffd578937521
2009-09-05 17:43:13 +00:00
theraven
271a54ece9 Moved registration of runtime multithreaded handler to after the creation of the main thread's NSThread object. This fixes a potential issue where the runtime is already in multithreaded mode, calls the handler, and NSException crashes dereferencing the thread object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28609 72102866-910b-0410-8b05-ffd578937521
2009-09-05 17:28:01 +00:00
theraven
1b2795fd70 Removed files copied from the GNU runtime and no longer needed. GNUstep on a Apple runtime should now no longer by GPL.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28606 72102866-910b-0410-8b05-ffd578937521
2009-09-03 15:52:59 +00:00
rfm
80afb705cf Minor fixes/tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28605 72102866-910b-0410-8b05-ffd578937521
2009-09-03 09:45:23 +00:00
theraven
e833003ca5 Removed bonus semicolon added in earlier commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28603 72102866-910b-0410-8b05-ffd578937521
2009-09-02 22:15:05 +00:00
theraven
c9346f7072 Fixed bug noticed by Fred.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28602 72102866-910b-0410-8b05-ffd578937521
2009-09-02 22:13:48 +00:00
theraven
caf92d88c2 Fixed typo pointed out by Philippe Roussel.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28600 72102866-910b-0410-8b05-ffd578937521
2009-09-02 16:07:00 +00:00
theraven
da0ba10792 Added fix for error reported by Philippe Roussel on GNU/Linux.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28599 72102866-910b-0410-8b05-ffd578937521
2009-09-02 14:47:16 +00:00