فهرست منبع

fix more unused variable warnings

some of these were coming from stdio functions locking files without
unlocking them. I believe it's useful for this to throw a warning, so
I added a new macro that's self-documenting that the file will never
be unlocked to avoid the warning in the few places where it's wrong.
Rich Felker 12 سال پیش
والد
کامیت
a617a8e2ad
4فایلهای تغییر یافته به همراه5 افزوده شده و 6 حذف شده
  1. 1 0
      src/internal/stdio_impl.h
  2. 2 3
      src/ldso/dynlink.c
  3. 1 1
      src/stdio/__stdio_exit.c
  4. 1 2
      src/stdio/fclose.c

+ 1 - 0
src/internal/stdio_impl.h

@@ -24,6 +24,7 @@
 
 #define UNGET 8
 
+#define FFINALLOCK(f) ((f)->lock>=0 ? __lockfile((f)) : 0)
 #define FLOCK(f) int __need_unlock = ((f)->lock>=0 ? __lockfile((f)) : 0)
 #define FUNLOCK(f) if (__need_unlock) __unlockfile((f)); else
 

+ 2 - 3
src/ldso/dynlink.c

@@ -435,7 +435,7 @@ static struct dso *load_library(const char *name)
 	char buf[2*NAME_MAX+2];
 	const char *pathname;
 	unsigned char *base, *map;
-	size_t dyno, map_len;
+	size_t map_len;
 	struct dso *p, temp_dso = {0};
 	int fd;
 	struct stat st;
@@ -866,7 +866,7 @@ void *__dynlink(int argc, char **argv)
 	} else {
 		int fd;
 		char *ldname = argv[0];
-		size_t dyno, l = strlen(ldname);
+		size_t l = strlen(ldname);
 		if (l >= 3 && !strcmp(ldname+l-3, "ldd")) ldd_mode = 1;
 		*argv++ = (void *)-1;
 		if (argv[0] && !strcmp(argv[0], "--")) *argv++ = (void *)-1;
@@ -962,7 +962,6 @@ void *__dynlink(int argc, char **argv)
 
 	update_tls_size();
 	if (tls_cnt) {
-		struct dso *p;
 		void *mem = mmap(0, libc.tls_size, PROT_READ|PROT_WRITE,
 			MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
 		if (mem==MAP_FAILED ||

+ 1 - 1
src/stdio/__stdio_exit.c

@@ -8,7 +8,7 @@ weak_alias(dummy_file, __stderr_used);
 static void close_file(FILE *f)
 {
 	if (!f) return;
-	FLOCK(f);
+	FFINALLOCK(f);
 	if (f->wpos > f->wbase) f->write(f, 0, 0);
 	if (f->rpos < f->rend) f->seek(f, f->rpos-f->rend, SEEK_CUR);
 }

+ 1 - 2
src/stdio/fclose.c

@@ -5,8 +5,7 @@ int fclose(FILE *f)
 	int r;
 	int perm;
 	
-	/* This lock is not paired with any unlock. */
-	FLOCK(f);
+	FFINALLOCK(f);
 
 	if (!(perm = f->flags & F_PERM)) {
 		OFLLOCK();