Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Apr 2005 21:19:12 +0800
From:      "Mayank Kumar" <mayank@microsoft.com>
To:        <freebsd-current@freebsd.org>
Subject:   Query regarding thread safety of few libc stdio functions
Message-ID:  <3A5384BC2FBA4C488865F2275A036BFF027C1614@APS-MSG-01.southpacific.corp.microsoft.com>

next in thread | raw e-mail | index | archive | help
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 =3D __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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A5384BC2FBA4C488865F2275A036BFF027C1614>