Jonathan Gillaspie
afbeacef8b
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
Richard Frith-MacDonald
6c84f23ae1
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
Richard Frith-MacDonald
0dec7f1b97
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
Richard Frith-MacDonald
9f98d4c443
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
Richard Frith-MacDonald
1a353d2514
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
Richard Frith-MacDonald
1c11dee837
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
Richard Frith-MacDonald
21e9e1231f
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
Richard Frith-MacDonald
7f2d7d10eb
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
Jonathan Gillaspie
d85c001251
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
Richard Frith-MacDonald
367d552a3b
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
Richard Frith-MacDonald
e9cdf2ec94
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
Richard Frith-MacDonald
a14a8a49b6
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
Richard Frith-MacDonald
b8ccc9459d
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
Fred Kiefer
3f8bdadc33
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
David Chisnall
e06564cf1b
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
Richard Frith-MacDonald
7f21dcbbea
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
Richard Frith-MacDonald
a15a02db18
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
Richard Frith-MacDonald
49a063af84
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
David Chisnall
c1ed4743d1
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
Richard Frith-MacDonald
ec6e3d6f54
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
Richard Frith-MacDonald
b662140e16
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
Richard Frith-MacDonald
39d2ab833a
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
Richard Frith-MacDonald
a4ad8f1b90
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
Richard Frith-MacDonald
62ca624e12
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
Quentin Mathe
4147368f90
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
Richard Frith-MacDonald
0cbf8db121
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
Richard Frith-MacDonald
e13a513f78
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
Richard Frith-MacDonald
b43991f8f6
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
Richard Frith-MacDonald
93b94d87b2
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
Richard Frith-MacDonald
b1976d23bb
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
Fred Kiefer
07b2bd4491
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
Richard Frith-MacDonald
87b9234f30
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
Richard Frith-MacDonald
87c6d320c5
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
Richard Frith-MacDonald
83b5863735
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
Richard Frith-MacDonald
445ea4b5cb
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
Richard Frith-MacDonald
1c4d02d09d
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
Eric Wasylishen
d4cee6fc57
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
David Chisnall
c5103403f6
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
David Chisnall
9e003700b4
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
David Chisnall
41eb58f807
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
David Chisnall
34c77138fc
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
David Chisnall
05f18160df
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
David Chisnall
de2a3ce038
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
David Chisnall
a19f62698a
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
David Chisnall
ea5f15deb0
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
Wolfgang Lux
37b81067e9
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
Gregory John Casamento
6797a06652
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
David Chisnall
c19a717b67
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
Gregory John Casamento
e96f74362f
* 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
Richard Frith-MacDonald
c7a2108c66
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
Gregory John Casamento
1292e4a62d
* 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
Richard Frith-MacDonald
74b7774beb
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
Richard Frith-MacDonald
cc2898292c
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
Richard Frith-MacDonald
cac753d5df
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
Richard Frith-MacDonald
ae04fdffe6
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
Richard Frith-MacDonald
a961de6c5d
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
Richard Frith-MacDonald
925df9eb91
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
Richard Frith-MacDonald
405dbae6f0
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
Richard Frith-MacDonald
0c3268b9d9
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
Richard Frith-MacDonald
99b0669aff
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
Richard Frith-MacDonald
20a22bee1b
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
Richard Frith-MacDonald
7b2b18f8ef
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
Richard Frith-MacDonald
449c94d4f6
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
Richard Frith-MacDonald
b92879f11d
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
Richard Frith-MacDonald
e0c9ae4e2d
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
Richard Frith-MacDonald
48499df0dd
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
Richard Frith-MacDonald
3992cde903
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
Wolfgang Lux
26ec2df638
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
Richard Frith-MacDonald
39bb68003d
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
Richard Frith-MacDonald
5a6ce46276
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
David Chisnall
9eb8d1d49b
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
Richard Frith-MacDonald
19796a1465
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
Richard Frith-MacDonald
a3d9656e82
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
Richard Frith-MacDonald
02a93a74af
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
Richard Frith-MacDonald
3d9e3eee57
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
Adam Fedor
b3a520b2fe
* 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
Wolfgang Lux
acb28bb1c2
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
Richard Frith-MacDonald
9d215e7e76
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
Richard Frith-MacDonald
20d59a0d7a
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
Richard Frith-MacDonald
febe972488
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
Richard Frith-MacDonald
70af2643ac
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
Richard Frith-MacDonald
e4a6d046be
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
Richard Frith-MacDonald
d0bd5c8983
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
Richard Frith-MacDonald
a6c9c8749a
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
Richard Frith-MacDonald
715bdcaa0a
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
Richard Frith-MacDonald
e93dcbf681
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
Richard Frith-MacDonald
3f7f5e5410
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
Richard Frith-MacDonald
2f0e07d89a
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
Richard Frith-MacDonald
0f5dd1c798
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
Richard Frith-MacDonald
a8eba2055d
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
Richard Frith-MacDonald
e06f2305f0
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
Richard Frith-MacDonald
fcc33c1b71
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
Richard Frith-MacDonald
7b1dbbff0b
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
Richard Frith-MacDonald
d33b6b24b8
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
Richard Frith-MacDonald
49dd10cc29
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
Richard Frith-MacDonald
8e2d2ce1e1
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
Richard Frith-MacDonald
c0f76095d1
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
David Chisnall
1874665069
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
Richard Frith-MacDonald
77a7398d4a
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
Richard Frith-MacDonald
40ee16100f
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
Richard Frith-MacDonald
3a5b932776
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
Richard Frith-MacDonald
09e3aa92a4
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
Richard Frith-MacDonald
bc608fda5a
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
Richard Frith-MacDonald
f897f31dff
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
David Chisnall
7f8c48ddfc
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
Richard Frith-MacDonald
c81da3592a
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
Richard Frith-MacDonald
04e3fff827
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
Richard Frith-MacDonald
6f8f291819
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
Richard Frith-MacDonald
fd54363e2c
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
Richard Frith-MacDonald
447a3d1c69
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
Richard Frith-MacDonald
6455c3e533
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
Richard Frith-MacDonald
75638580ff
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
Richard Frith-MacDonald
9f774be2d7
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
Richard Frith-MacDonald
8e731e7976
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
Richard Frith-MacDonald
e1eae65cf7
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
Richard Frith-MacDonald
640ae938c6
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
Richard Frith-MacDonald
bed83a2f29
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
David Chisnall
95c9e08026
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
David Chisnall
47eab60ed8
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
Richard Frith-MacDonald
0836fd9bd7
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
Richard Frith-MacDonald
55a63e4299
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
Richard Frith-MacDonald
f33f3bd78d
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
Richard Frith-MacDonald
53578362aa
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
Richard Frith-MacDonald
e87323edef
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
Richard Frith-MacDonald
65fb6dd5ac
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
Richard Frith-MacDonald
d4dafeef76
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
Richard Frith-MacDonald
b3bb5d96da
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
Richard Frith-MacDonald
a456517b42
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
Richard Frith-MacDonald
f494169e94
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
Richard Frith-MacDonald
36e7376518
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
Richard Frith-MacDonald
14a28f5b7c
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
Richard Frith-MacDonald
826cd93801
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
Richard Frith-MacDonald
1cf4c0937c
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
Richard Frith-MacDonald
6b1b12123a
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
Richard Frith-MacDonald
d626a852e5
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
Richard Frith-MacDonald
418330b29d
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
David Chisnall
f78dd03c31
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
David Chisnall
852e924f52
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
David Chisnall
29faf077e7
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
David Chisnall
0aa15f423c
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
Richard Frith-MacDonald
b4ddaee78f
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
David Chisnall
0e49e6e9fb
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
David Chisnall
28618978db
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
David Chisnall
39c9ec5afd
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
David Chisnall
a9639aa3fa
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
David Chisnall
d7a877b871
* Source/NSLock.m
...
* Headers/Foundation/NSLock.h
Completely rewritten implementations of NSLock.h classes. These are now
faster, more complete, OS X-compatible, and most importantly actually
work. The old ones, for example, called functions that were not
implemented on Windows.
* Source/NSThread.m
Call pthread functions directly in NSThread instead of via the libobjc
abstraction layer. Also fixed a few issues, such as GC not being
initialized properly for NSThread subclasses that override -main (Javaism
supported by OS X) and tidies up the code in several places, removing
premature optimizations, especially those that introduce a test for an
unlikely case at the start of a method and thus slow everything down.
As a result of this change, GNUstep now depends on an implementation of
POSIX threads. This is included as standard on all modern UNIX systems,
and as an option on less-modern UNIX systems and non-UNIX systems,
including Windows. If you are building GNUstep on Windows, please install
the pthreads-win32 package, available from:
http://sourceware.org/pthreads-win32/
PLEASE TEST THIS! There may be some code that depended on the old
behaviour. I have been running the new NSLock implementation on FreeBSD
for a few weeks without issue; please report to me any problems that you
have on your platform.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28598 72102866-910b-0410-8b05-ffd578937521
2009-09-02 13:03:13 +00:00
Richard Frith-MacDonald
9f5f6bc382
revert accidental commit
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28592 72102866-910b-0410-8b05-ffd578937521
2009-09-01 12:11:43 +00:00
Richard Frith-MacDonald
cf4727020b
Updates for 1.19.3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28586 72102866-910b-0410-8b05-ffd578937521
2009-09-01 09:03:28 +00:00
Richard Frith-MacDonald
6bbe31c18d
tweak NSCache changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28582 72102866-910b-0410-8b05-ffd578937521
2009-09-01 04:40:07 +00:00
David Chisnall
c00f54bafb
Added NSCache (OS X 10.6) implementation.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28581 72102866-910b-0410-8b05-ffd578937521
2009-08-31 21:45:53 +00:00