Patch: Re: objc FAILs under hpux/-threads with gcc-2.96 CVS 20000816
John David Anglin
dave@hiauly1.hia.nrc.ca
Fri Sep 1 13:29:00 GMT 2000
> === objc Summary for unix/-threads ===
>
> # of expected passes 22
> # of unexpected failures 22
The enclosed patch corrects the problem. There are now no objc failures
under hpux 10.20. The patch code is similar to that used for posix
threads.
The file libobjc/thr-dce.c contains a similar set of functions as gthr-dce.h.
The code therein incorrectly passes `&(mutex->backend)'. I didn't fix
thr-dce.c since it doesn't appear to be used anymore.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
2000-08-31 J. David Anglin <dave@hiauly1.hia.nrc.ca>
* gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
object before calling pthread_mutex_init.
--- gthr-dce.h.orig Fri Aug 4 13:25:19 2000
+++ gthr-dce.h Thu Aug 31 14:10:37 2000
@@ -274,10 +274,18 @@
static inline int
__gthread_objc_mutex_allocate(objc_mutex_t mutex)
{
- if (__gthread_active_p ()
- && pthread_mutex_init((pthread_mutex_t *)mutex->backend,
+ if (__gthread_active_p ())
+ {
+ mutex->backend = objc_malloc(sizeof(pthread_mutex_t));
+
+ if (pthread_mutex_init((pthread_mutex_t *)mutex->backend,
pthread_mutexattr_default))
- return -1;
+ {
+ objc_free(mutex->backend);
+ mutex->backend = NULL;
+ return -1;
+ }
+ }
return 0;
}
More information about the Gcc-patches
mailing list