chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
umask: set umask of a number of sockets by default, even though we check creds on...
[elogind.git]
/
src
/
util.c
diff --git
a/src/util.c
b/src/util.c
index 6382c01c556eb7d7f0e83f1de62338909b248f78..8d54049754c0495b2d4394483c9d2825fcc84f73 100644
(file)
--- a/
src/util.c
+++ b/
src/util.c
@@
-73,7
+73,7
@@
size_t page_size(void) {
static __thread size_t pgsz = 0;
long r;
static __thread size_t pgsz = 0;
long r;
- if (
pgsz
)
+ if (
_likely_(pgsz)
)
return pgsz;
assert_se((r = sysconf(_SC_PAGESIZE)) > 0);
return pgsz;
assert_se((r = sysconf(_SC_PAGESIZE)) > 0);
@@
-3768,7
+3768,7
@@
int columns(void) {
static __thread int parsed_columns = 0;
const char *e;
static __thread int parsed_columns = 0;
const char *e;
- if (
parsed_columns > 0
)
+ if (
_likely_(parsed_columns > 0)
)
return parsed_columns;
if ((e = getenv("COLUMNS")))
return parsed_columns;
if ((e = getenv("COLUMNS")))
@@
-4364,7
+4364,7
@@
int detect_virtualization(const char **id) {
const char *_id;
int r;
const char *_id;
int r;
- if (
cached_id
) {
+ if (
_likely_(cached_id)
) {
if (cached_id == (const char*) -1)
return 0;
if (cached_id == (const char*) -1)
return 0;
@@
-5536,6
+5536,15
@@
char *join(const char *x, ...) {
return r;
}
return r;
}
+bool is_main_thread(void) {
+ static __thread int cached = 0;
+
+ if (_unlikely_(cached == 0))
+ cached = getpid() == gettid() ? 1 : -1;
+
+ return cached > 0;
+}
+
static const char *const ioprio_class_table[] = {
[IOPRIO_CLASS_NONE] = "none",
[IOPRIO_CLASS_RT] = "realtime",
static const char *const ioprio_class_table[] = {
[IOPRIO_CLASS_NONE] = "none",
[IOPRIO_CLASS_RT] = "realtime",