diff options
| author | Julian Elischer <julian@FreeBSD.org> | 1996-01-22 00:02:33 +0000 | 
|---|---|---|
| committer | Julian Elischer <julian@FreeBSD.org> | 1996-01-22 00:02:33 +0000 | 
| commit | f70177e76e605ec6e6cd5b938fa77ade5d380e87 (patch) | |
| tree | a89c7f50ec371cef4418259b9dccdd31ebb2f61f /lib/libc/stdio/puts.c | |
| parent | 61de51cad66df0d565233915f856932159d33a4a (diff) | |
Notes
Diffstat (limited to 'lib/libc/stdio/puts.c')
| -rw-r--r-- | lib/libc/stdio/puts.c | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/lib/libc/stdio/puts.c b/lib/libc/stdio/puts.c index 96a81842b86f..e8a35c533a51 100644 --- a/lib/libc/stdio/puts.c +++ b/lib/libc/stdio/puts.c @@ -41,13 +41,19 @@ static char sccsid[] = "@(#)puts.c	8.1 (Berkeley) 6/4/93";  #include <stdio.h>  #include <string.h>  #include "fvwrite.h" +#ifdef _THREAD_SAFE +#include <pthread.h> +#include "pthread_private.h" +#endif  /*   * Write the given string to stdout, appending a newline.   */ +int  puts(s)  	char const *s;  { +	int retval;  	size_t c = strlen(s);  	struct __suio uio;  	struct __siov iov[2]; @@ -59,5 +65,12 @@ puts(s)  	uio.uio_resid = c + 1;  	uio.uio_iov = &iov[0];  	uio.uio_iovcnt = 2; -	return (__sfvwrite(stdout, &uio) ? EOF : '\n'); +#ifdef _THREAD_SAFE +	_thread_flockfile(stdout,__FILE__,__LINE__); +#endif +	retval = __sfvwrite(stdout, &uio) ? EOF : '\n'; +#ifdef _THREAD_SAFE +	_thread_funlockfile(stdout); +#endif +	return (retval);  } | 
