Query regarding thread safety of few libc stdio functions
Mayank Kumar
mayank at microsoft.com
Mon Apr 25 06:24:12 PDT 2005
Hi All
Recently I have been looking at few freebsd libc functions and I found
That they were not thread safe. Can one of you please confirm.
Following functions in freebsd libc are not thread safe:-
1: vsnprintf
2: vsprintf
3: vsscanf
theere are many more.
Functions like vfprintf are written as follows:-
-------------
int ret;
FLOCKFILE(fp);
ret = __vfprintf(fp, fmt0, ap);
FUNLOCKFILE(fp);
return (ret);
----------------
Which ensures that they are thread safe.
Why is the same case not followed for eg with vsnprintf or vsprintf
Vsnprintf calls directly __vfprintf which is not thread safe. Hence
How is there thready safey guranteed. Any help on this front
Would be helpful.
Thanks and regards
Mayank
More information about the freebsd-current
mailing list