diff options
Diffstat (limited to 'libgfortran/io/unit.c')
-rw-r--r-- | libgfortran/io/unit.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libgfortran/io/unit.c b/libgfortran/io/unit.c index 14438f84c82..0b7dee10155 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; |