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>

index | next in thread | raw e-mail

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


home | help

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