From b2e1c562728699642e98c528bed175929cceff4d Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 17 Aug 2012 09:35:36 -0700 Subject: Make libio compile without _IO_MTSAFE_IO. --- libio/genops.c | 4 ++++ libio/libioP.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) (limited to 'libio') diff --git a/libio/genops.c b/libio/genops.c index c8297ff128..0a81a5d101 100644 --- a/libio/genops.c +++ b/libio/genops.c @@ -952,6 +952,7 @@ _IO_unbuffer_write (void) /* Iff stream is un-orientated, it wasn't used. */ && fp->_mode != 0) { +#ifdef _IO_MTSAFE_IO int cnt; #define MAXTRIES 2 for (cnt = 0; cnt < MAXTRIES; ++cnt) @@ -961,6 +962,7 @@ _IO_unbuffer_write (void) /* Give the other thread time to finish up its use of the stream. */ __sched_yield (); +#endif if (! dealloc_buffers && !(fp->_flags & _IO_USER_BUF)) { @@ -974,8 +976,10 @@ _IO_unbuffer_write (void) _IO_SETBUF (fp, NULL, 0); +#ifdef _IO_MTSAFE_IO if (cnt < MAXTRIES && fp->_lock != NULL) _IO_lock_unlock (*fp->_lock); +#endif } /* Make sure that never again the wide char functions can be diff --git a/libio/libioP.h b/libio/libioP.h index 486c670b51..aa2b3bfa90 100644 --- a/libio/libioP.h +++ b/libio/libioP.h @@ -933,3 +933,17 @@ _IO_acquire_lock_clear_flags2_fct (_IO_FILE **p) if ((fp->_flags & _IO_USER_LOCK) == 0) _IO_funlockfile (fp); } + +#if !defined _IO_MTSAFE_IO && !defined NOT_IN_libc +# define _IO_acquire_lock(_fp) \ + do { \ + _IO_FILE *_IO_acquire_lock_file = NULL +# define _IO_acquire_lock_clear_flags2(_fp) \ + do { \ + _IO_FILE *_IO_acquire_lock_file = (_fp) +# define _IO_release_lock(_fp) \ + if (_IO_acquire_lock_file != NULL) \ + _IO_acquire_lock_file->_flags2 &= ~(_IO_FLAGS2_FORTIFY \ + | _IO_FLAGS2_SCANF_STD); \ + } while (0) +#endif -- cgit 1.4.1