From: danglin Date: Mon, 19 Jun 2006 03:07:54 +0000 (+0000) Subject: PR libgomp/27254 X-Git-Tag: upstream/4.9.2~54048 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=364b9cb6b2d36a2367a952a692c7b26e086eba97;p=platform%2Fupstream%2Flinaro-gcc.git PR libgomp/27254 * io/unit.c (get_internal_unit): Initialize and lock thread mutex for internal units. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114765 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index bd1aecb..8517cae 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,9 @@ +2006-06-18 John David Anglin + + PR libgomp/27254 + * io/unit.c (get_internal_unit): Initialize and lock thread mutex + for internal units. + 2006-06-06 Janne Blomqvist * m4/in_pack.m4: Add TODO comment about detecting temporaries, diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c index 14438f8..0b7dee1 100644 --- a/libgfortran/io/unit.c +++ b/libgfortran/io/unit.c @@ -376,6 +376,15 @@ get_internal_unit (st_parameter_dt *dtp) } memset (iunit, '\0', sizeof (gfc_unit)); +#ifdef __GTHREAD_MUTEX_INIT + { + __gthread_mutex_t tmp = __GTHREAD_MUTEX_INIT; + iunit->lock = tmp; + } +#else + __GTHREAD_MUTEX_INIT_FUNCTION (&iunit->lock); +#endif + __gthread_mutex_lock (&iunit->lock); iunit->recl = dtp->internal_unit_len;