Why not have glibc incorporate the moral equivalent of the "unlocked" stdio routines (fwrite_unlocked, printf_unlocked, etc.), like fwrite_block?
I am not sure what "unlocked" means, but any solution like this would only work on GNU. It would be better to use an equally simple approach that will work on other systems also: to define simple functions inside CVS to replace fwrite, fprintf, etc. In fact then they (and CVS) could probably get it down to some #defines in a header without changing the existing stdio calls. That approach would still work if the functions are defined by CVS itself. #define fprintf cvs_fprintf My suggestion is to write a function cvs_fprintf that uses vsnprintf and alloca so as to generate the entire message, and then calls fwrite in a suitable loop with select to output the message. That should be simple enough. How about it? I will write the function for you if you don't want to write it. It would give me an opportunity to restudy how varargs works. _______________________________________________ Bug-cvs mailing list Bug-cvs@gnu.org http://lists.gnu.org/mailman/listinfo/bug-cvs