Richard Frith-Macdonald wrote:

On 6 Jan 2008, at 17:19, David Wetzel wrote:

Hi,

 objc_thread_detach (@selector(hash), o, nil);

returns NULL on all boxes. Also on NetBSD 3.1 where NSThread is working with GNUstep.

Any Ideas?

I don't see how that's possible unless you are linking something wrong ... if objc_thread_detach() returns NULL then NSThread cannot work ...

It doesn't actually return NULL on NetBSD 3.1. There seems to be a promotion/printf issue, undefined behavior or some serious bug. For:

printf("return value is %p %d\n int:%d retval:%d NULL:%d, COMP:%d\n",
          retval, (retval == NULL),
          sizeof(int), sizeof(retval),
          sizeof(NULL), sizeof(retval==NULL));

I get:

return value is 0xbb000000 0
 int:4 retval:4 NULL:4, COMP:4

since it is based on objc_thread_detach() and will raise an exception if that returns NULL (since NULL is the error return from that function ... not a great piece of design, but it's what the objc runtime provides).

But on the 4.0 version we really get 0x0. Now I'll poke a bit but I think Dave W. will actually have to install a debug version of gcc/libobjc for me to figure out what's going on here.

Cheers,
David



_______________________________________________
Gnustep-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to