projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change uid_t, gid_t, and id_t to unsigned types
[musl]
/
src
/
stdio
/
ftrylockfile.c
diff --git
a/src/stdio/ftrylockfile.c
b/src/stdio/ftrylockfile.c
index
0b0e44a
..
eef4e25
100644
(file)
--- a/
src/stdio/ftrylockfile.c
+++ b/
src/stdio/ftrylockfile.c
@@
-1,15
+1,17
@@
#include "stdio_impl.h"
#include "pthread_impl.h"
#include "stdio_impl.h"
#include "pthread_impl.h"
+#include <limits.h>
int ftrylockfile(FILE *f)
{
int tid = pthread_self()->tid;
if (f->lock == tid) {
int ftrylockfile(FILE *f)
{
int tid = pthread_self()->tid;
if (f->lock == tid) {
- if (f->lockcount ==
INT
_MAX)
+ if (f->lockcount ==
LONG
_MAX)
return -1;
f->lockcount++;
return 0;
}
return -1;
f->lockcount++;
return 0;
}
+ if (f->lock < 0) f->lock = 0;
if (f->lock || a_cas(&f->lock, 0, tid))
return -1;
f->lockcount = 1;
if (f->lock || a_cas(&f->lock, 0, tid))
return -1;
f->lockcount = 1;