cvs commit: src/lib/libc/gen Makefile.inc errlst.c src/lib/libc/i386/sys cerror.S ptrace.S src/lib/libc/sys Makefile.inc __error.c src/lib/libc_r/sys Makefile.inc uthread_error.c src/lib/libc_r/uthread Makefile.inc ...

Jonas Trollvik jontro at gmail.com
Tue May 3 13:00:55 PDT 2005


I dont understand what the difference is between it, is there a good
place where I can get more information about it?
-Jonas

On 5/3/05, Joerg Sonnenberger <joerg at xxxxxxxxxxxxxxxxx> wrote:
> On Tue, May 03, 2005 at 11:14:59AM -0700, Matthew Dillon wrote:
> >
> > :I'm not sure if we can make e.g. strtok simply thread safe by using
> > :TLS, but I want to use it to get e.g. the resolver fully thread-safe.
> > :This is also the right time to work on our NSS implementation. Once
> > :that works, we can move rpc, yp and perhaps even the resolver out of
> > :libc.
> > :
> > :Joerg
> >
> >     Sure we can:
> >
> > char *
> > strtok(char *s, const char *delim)
> > {
> >     static char *last;
> >
> >     return strtok_r(s, delim, &last);
> > }
> >
> >     To
> >
> > char *
> > strtok(char *s, const char *delim)
> > {
> >     __thread static char *last;
> >
> >     return strtok_r(s, delim, &last);
> > }
> >
> >     Poof.  Thread safe.
> 
> But with a different semantic in a threaded environment.
> That's why we have to be a bit careful. Unlikely to be a
> problem here, but something we have to keep in mind.
> 
> Joerg
>






More information about the Commits mailing list