Apply even more fixups

- Finish cleaning up the stdio unlocked APIs
- Make __cxa_finalize() properly thread safe
- Don't log locks if threads aren't being used
- Add some more mutex guards to places using _mmi
- Specific lock names now appear in the --ftrace logs
- Fix mkdeps.com generating invalid Makefiles sometimes
- Simplify and fix bugs in the test runner infrastructure
- Fix issue where sometimes some functions wouldn't be logged
This commit is contained in:
Justine Tunney 2022-06-12 11:47:20 -07:00
parent 4ddfc47d6e
commit 8cdec62f5b
87 changed files with 955 additions and 899 deletions

View file

@ -17,7 +17,6 @@
PERFORMANCE OF THIS SOFTWARE.
*/
#include "libc/stdio/stdio.h"
#include "libc/str/str.h"
/**
* Writes string to stream.
@ -29,11 +28,12 @@
* @param s is a NUL-terminated string that's non-NULL
* @param f is an open stream
* @return bytes written, or -1 w/ errno
* @threadsafe
*/
int fputs_unlocked(const char *s, FILE *f) {
size_t n, r;
n = strlen(s);
r = fwrite_unlocked(s, 1, n, f);
if (!r && n) return -1;
return r;
int fputs(const char *s, FILE *f) {
int rc;
flockfile(f);
rc = fputs_unlocked(s, f);
funlockfile(f);
return rc;
}