提交 952987a0 编写于 作者: R Rich Felker

reorganize the __libc structure for threaded performance issues

we want to keep atomically updated fields (locks and thread count) and
really anything writable far away from frequently-needed function
pointers. stuff some rarely-needed function pointers in between to
pad, hopefully up to a cache line boundary.
上级 4ae5e811
......@@ -5,20 +5,20 @@
#include <stdio.h>
struct __libc {
void (*lock)(volatile int *);
int *(*errno_location)(void);
void (*cancelpt)(int);
void (*lock)(volatile int *);
void (*lockfile)(FILE *);
void (**tsd_keys)(void *);
void (*sigtimer)();
int (*atexit)(void (*)(void));
void (*fini)(void);
void (*ldso_fini)(void);
int *(*errno_location)(void);
volatile int threads_minus_1;
int ofl_lock;
int (*rsyscall)(int, long, long, long, long, long, long);
void (**tsd_keys)(void *);
void (*fork_handler)(int);
FILE *ofl_head;
int ofl_lock;
void (*lockfile)(FILE *);
void (*sigtimer)();
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册