RFC: getc() and putc() as macros

Tim Robbins tjr at freebsd.org
Sat Mar 13 16:59:09 PST 2004


On Sat, Mar 13, 2004 at 04:22:43PM -0800, Peter Wemm wrote:

> On Saturday 13 March 2004 07:05 am, Daniel Eischen wrote:
> > On Sat, 13 Mar 2004, Tim Robbins wrote:
> > > The patch below re-adds macro versions of getc(), getchar(),
> > > putc(), putchar(), feof(), ferror(), fileno() and clearerr(), using
> > > the value of __isthreaded to decide between the fast inline
> > > single-threaded code and the more general function equivalent (as
> > > suggested by Alfred). Is this approach safe?
> >
> > I don't really like this.  It exposes __isthreaded and others
> > that are implementation.
> 
> I thought that was the kind of thing that  _REENTRANT or _THREAD_SAFE 
> are usually for? (*shudder*)

Not anymore - we have to check at runtime.


Tim


More information about the freebsd-threads mailing list