Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 28 Jan 1999 11:35:54 +0000 (11:35 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 28 Jan 1999 11:35:54 +0000 (11:35 +0000)
* libio/genops.c (_IO_un_link, _IO_link_in): Don't use locking if
_IO_MTSAFE_IO is not defined.

ChangeLog
libio/genops.c

index e676774..e26dab1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 1999-01-28  Ulrich Drepper  <drepper@cygnus.com>
 
+       * libio/genops.c (_IO_un_link, _IO_link_in): Don't use locking if
+       _IO_MTSAFE_IO is not defined.
+
        * iconv/gconv_db.c (free_modules_db): Don't free memory of
        internal modules.
 
index 85d42fa..f925b0d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997, 1998, 1999 Free Software Foundation, Inc.
    This file is part of the GNU IO Library.
 
    This library is free software; you can redistribute it and/or
@@ -31,7 +31,9 @@
 #endif
 #include <string.h>
 
+#ifdef _IO_MTSAFE_IO
 static _IO_lock_t list_all_lock = _IO_lock_initializer;
+#endif
 
 void
 _IO_un_link (fp)
@@ -39,8 +41,10 @@ _IO_un_link (fp)
 {
   if (fp->_flags & _IO_LINKED)
     {
+#ifdef _IO_MTSAFE_IO
       _IO_FILE **f;
       _IO_lock_lock (list_all_lock);
+#endif
       for (f = &_IO_list_all; *f != NULL; f = &(*f)->_chain)
        {
          if (*f == fp)
@@ -49,7 +53,9 @@ _IO_un_link (fp)
              break;
            }
        }
+#ifdef _IO_MTSAFE_IO
       _IO_lock_unlock (list_all_lock);
+#endif
       fp->_flags &= ~_IO_LINKED;
     }
 }
@@ -61,10 +67,14 @@ _IO_link_in (fp)
     if ((fp->_flags & _IO_LINKED) == 0)
       {
        fp->_flags |= _IO_LINKED;
+#ifdef _IO_MTSAFE_IO
        _IO_lock_lock (list_all_lock);
+#endif
        fp->_chain = _IO_list_all;
        _IO_list_all = fp;
+#ifdef _IO_MTSAFE_IO
        _IO_lock_unlock (list_all_lock);
+#endif
       }
 }