Commit graph

8226 commits

Author SHA1 Message Date
Richard Frith-MacDonald
8c7b1d496a standardise listen backlog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31455 72102866-910b-0410-8b05-ffd578937521
2010-10-01 09:22:52 +00:00
Richard Frith-MacDonald
8af7e6bf3a fix #31153
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31454 72102866-910b-0410-8b05-ffd578937521
2010-10-01 07:13:31 +00:00
Richard Frith-MacDonald
40a72c52a9 networking scalability tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31449 72102866-910b-0410-8b05-ffd578937521
2010-09-30 14:16:11 +00:00
Richard Frith-MacDonald
566d84d19f fix for bug 31168
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31446 72102866-910b-0410-8b05-ffd578937521
2010-09-30 08:34:25 +00:00
Richard Frith-MacDonald
cc451397a4 bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31445 72102866-910b-0410-8b05-ffd578937521
2010-09-30 06:51:34 +00:00
Eric Wasylishen
d431109112 * Source/objc-load.m: Don't include objc-list.h with libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31438 72102866-910b-0410-8b05-ffd578937521
2010-09-29 06:47:16 +00:00
Eric Wasylishen
4eba67f87b Remove dead code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31434 72102866-910b-0410-8b05-ffd578937521
2010-09-28 23:27:46 +00:00
Richard Frith-MacDonald
42828af0cc minor optimisations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31433 72102866-910b-0410-8b05-ffd578937521
2010-09-28 13:23:53 +00:00
Richard Frith-MacDonald
52d7256b41 Make firing of timers more robust
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31420 72102866-910b-0410-8b05-ffd578937521
2010-09-25 21:28:07 +00:00
David Chisnall
7563e320b5 Add special case to KVC accessors for libobjc2: If there is a method with the
wrong types, try calling the method with the correct types.  This enables the
TDD-fixup code to run and generate a KVC-compliant version of an existing
method.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31412 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:31:46 +00:00
David Chisnall
ec239ebfaf Simplify the KVC getter code and make it return structs boxed in NSValues
(Apple-compatible).  This is currently slow, because we go via NSInvocation.
We could probably make it faster, but I am not inclined to optimise for
something that I sincerely hope is a very unusual use case.

Richard: Please check I haven't done something silly here...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31411 72102866-910b-0410-8b05-ffd578937521
2010-09-24 19:20:16 +00:00
Richard Frith-MacDonald
0364f2e365 performance tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31404 72102866-910b-0410-8b05-ffd578937521
2010-09-24 11:05:11 +00:00
Wolfgang Lux
2a5d060cfa Fix two unchecked pointer dereferences in the libobjc2 compatibility
code, which could cause crashes when attempting to invoke a selector
which is not implemented by the target.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31384 72102866-910b-0410-8b05-ffd578937521
2010-09-20 18:13:48 +00:00
Quentin Mathe
a26b510c01 Forgot to commit the ChangeLog for r31379
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31380 72102866-910b-0410-8b05-ffd578937521
2010-09-19 19:29:34 +00:00
Quentin Mathe
8500f58da7 Added standard C headers included by CoreFoundation.h to preface.h.in
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31379 72102866-910b-0410-8b05-ffd578937521
2010-09-19 19:28:17 +00:00
David Chisnall
e9b0540890 Fix -methodSignatureForSelector: fast path with libobjc2.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31371 72102866-910b-0410-8b05-ffd578937521
2010-09-18 15:09:58 +00:00
Wolfgang Lux
4fad29abb5 Tweaks for running on Darwin aka OS X.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31366 72102866-910b-0410-8b05-ffd578937521
2010-09-17 20:23:48 +00:00
Wolfgang Lux
fb76b96247 Fix bug were NSObject -methodSignatureForSelector: would return an
incorrect result or even crash when asking a class object for the
signature of one of its class methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31365 72102866-910b-0410-8b05-ffd578937521
2010-09-17 20:07:50 +00:00
Eric Wasylishen
8f88383e61 Fix more unsigned int / int cases that should be NS[U]Integer
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31355 72102866-910b-0410-8b05-ffd578937521
2010-09-16 02:55:24 +00:00
Eric Wasylishen
0b8e723ec3 disable unneeded code on libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31353 72102866-910b-0410-8b05-ffd578937521
2010-09-16 00:07:39 +00:00
Eric Wasylishen
d713579ade * Source/NSMessagePort.m:
* Source/NSFileManager.m:
* Source/NSCharacterSet.m: Fix some method type mismatches. Generally when
a private subclass overrides a public method taking a NSUInteger with
a method taking an "unsigned" parameter.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31351 72102866-910b-0410-8b05-ffd578937521
2010-09-15 22:16:18 +00:00
Richard Frith-MacDonald
47a7f3e444 slight tweak for clarity
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31347 72102866-910b-0410-8b05-ffd578937521
2010-09-14 11:42:43 +00:00
Riccardo Mottola
6ce1c05965 removed useless len recalculation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31341 72102866-910b-0410-8b05-ffd578937521
2010-09-12 23:30:37 +00:00
Riccardo Mottola
97402e3ddb Removed dead assignments and unused variable attrs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31340 72102866-910b-0410-8b05-ffd578937521
2010-09-12 23:25:59 +00:00
Richard Frith-MacDonald
a4f869f7e5 fix some return type errors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31338 72102866-910b-0410-8b05-ffd578937521
2010-09-12 17:05:30 +00:00
Richard Frith-MacDonald
8b838e67e1 improve makefile example
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31336 72102866-910b-0410-8b05-ffd578937521
2010-09-12 15:44:40 +00:00
Richard Frith-MacDonald
5b1fdea392 fix declaration
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31322 72102866-910b-0410-8b05-ffd578937521
2010-09-10 21:16:20 +00:00
Richard Frith-MacDonald
faa2feed90 avoid documentation warning
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31296 72102866-910b-0410-8b05-ffd578937521
2010-09-10 13:20:06 +00:00
Richard Frith-MacDonald
8177a34a8f tweaks to avoid clang warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31293 72102866-910b-0410-8b05-ffd578937521
2010-09-10 12:47:04 +00:00
Richard Frith-MacDonald
d317aab108 fix occasional crash with proxies
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31291 72102866-910b-0410-8b05-ffd578937521
2010-09-10 10:40:07 +00:00
Richard Frith-MacDonald
532062f01e fix dates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31289 72102866-910b-0410-8b05-ffd578937521
2010-09-10 09:11:37 +00:00
Richard Frith-MacDonald
8ee8fb58b3 cleanup getting descriptors/handles for ports.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31288 72102866-910b-0410-8b05-ffd578937521
2010-09-10 08:56:55 +00:00
Richard Frith-MacDonald
8f19d8df47 tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31286 72102866-910b-0410-8b05-ffd578937521
2010-09-10 07:11:49 +00:00
David Chisnall
e9be2bc3c5 Fix configure with libobjc2.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31283 72102866-910b-0410-8b05-ffd578937521
2010-09-09 23:22:46 +00:00
Eric Wasylishen
af8fc16268 Replace a call to -[Protocol name] with protocol_getName
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31282 72102866-910b-0410-8b05-ffd578937521
2010-09-09 22:42:47 +00:00
Eric Wasylishen
7282e58e08 * Source/NSDistantObject.m: #ifdef to disable category
on Object was forgotten around the interface


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31280 72102866-910b-0410-8b05-ffd578937521
2010-09-09 22:18:01 +00:00
Riccardo Mottola
1bbef96f6a use init return value
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31278 72102866-910b-0410-8b05-ffd578937521
2010-09-09 21:41:40 +00:00
Riccardo Mottola
1d57899ad8 use init return value
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31277 72102866-910b-0410-8b05-ffd578937521
2010-09-09 21:33:59 +00:00
Riccardo Mottola
703219c464 only access array if port responds to selector, or it is not initialized
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31276 72102866-910b-0410-8b05-ffd578937521
2010-09-09 21:22:31 +00:00
Richard Frith-MacDonald
46076fe15b fixup to get proxies working again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31275 72102866-910b-0410-8b05-ffd578937521
2010-09-09 21:10:47 +00:00
Richard Frith-MacDonald
c342978801 memorymanagement fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31273 72102866-910b-0410-8b05-ffd578937521
2010-09-09 19:58:21 +00:00
Adam Fedor
30d632b4c6 * configure.ac: Check for dladdr without requiring -ldl
* configure, Headers/Additions/GNUstepBase/config.h.in: Regen


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31272 72102866-910b-0410-8b05-ffd578937521
2010-09-09 19:31:04 +00:00
Eric Wasylishen
d7a7393a0b Minor build fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31271 72102866-910b-0410-8b05-ffd578937521
2010-09-09 17:02:19 +00:00
Eric Wasylishen
59ba8facf0 Change sel_getUid to call sel_registerName, in line with OS X behaviour since 10.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31270 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:43:29 +00:00
David Chisnall
4488708e84 Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).
All of the sel_* stuff is now replaced with the newer APIs.  As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.

Class posing with libobjc2 will now throw an exception, rather than just aborting.  



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:30:10 +00:00
David Chisnall
db04df357a Add implementation of sel_registerTypedName_np() to ObjectiveC2 (libobjc2 nonportable function for registering / getting typed selectors).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31266 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:17:40 +00:00
David Chisnall
7a80adeb9b A huge blob of changes to make -base build with libobjc2, without using the old libobjc2 headers.
Most of these changes involve simply removing direct manipulation of any runtime structures and replacing them with runtime function calls.  For example class->name becomes class_getName(class) and so on.

libobjc2, like the Apple runtime, the NeXT runtime, and every version of the Objective-C spec, calls the class pointer in id isa.  A few files now have #define class_pointer isa at the top.  This line replaces class_pointer in the old GNU libobjc headers with isa so either class_pointer or isa can be used for accessing the class of an object.  Note: object_getClass() should be used in most cases because, in some future version of the runtime, this will skip things like lock classes and other hidden classes (e.g. KVO classes).

All of the old forwarding stuff has been removed.  Most of this stuff followed convoluted code paths that ended with an exception.  A few simply broke in exciting ways.  Hopefully no one has used them for the last ten years or so, but we can bring them back with some #ifndef stuff if they're really needed by anyone.

There is currently a bug in configure, which prevents dladdr() from being detected, so you need to manually tweak config.h to build - I have not fixed the fall-back code in objc-load.m to work with libobjc2, I just added a new version that uses the loader's functionality directly.  

Although -base now builds, it builds with a lot of warnings.  <string.h> is missing from a lot of files, so memcpy() and strlen() generate implicit function declaration warnings.  

Additionally, libobjc2 does still provide the sel_{get,register}_*() functions, but they're wrappers around the newer API ones.  These are deprecated and are not exposed in the headers.  Although they work, we should be replacing them with the libobjc2 versions as soon as possible.

This incorporates a patch by Eric.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31265 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:06:09 +00:00
David Chisnall
0ed572ef2d Resolve symbols using dladdr() if it exists.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31263 72102866-910b-0410-8b05-ffd578937521
2010-09-09 14:22:45 +00:00
Eric Wasylishen
345563c947 * Source/ObjectiveC2/runtime.h:
* Source/ObjectiveC2/runtime.m:
Implement protocol_copyMethodDescriptionList, protocol_copyProtocolList,
protocol_getMethodDescription, as well as a dummy version of
objc_copyProtocolList.
* Headers/Additions/GNUstepBase/GSObjCRuntime.h:
* Source/Additions/GSObjCRuntime.m:
Implement a convenience method, GSProtocolGetMethodDescriptionRecursive



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31254 72102866-910b-0410-8b05-ffd578937521
2010-09-08 20:30:19 +00:00
David Chisnall
daecca9270 Import feature test function from libobjc2 into ObjectiveC2 framework. Returns 0 for all of the new features. May return the wrong value for exception support, if the runtime is really ancient and does not support exceptions. Returns 1 for features that the framework adds.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31252 72102866-910b-0410-8b05-ffd578937521
2010-09-08 14:10:01 +00:00