mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-08 13:29:59 -05:00
on Linu disable lazy binding altogether
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1840 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
a1526f105d
commit
7f9fea74ef
1 changed files with 17 additions and 1 deletions
|
|
@ -315,7 +315,6 @@ int main(int argc, char *argv[]) {
|
|||
pa_strbuf *buf = NULL;
|
||||
pa_daemon_conf *conf = NULL;
|
||||
pa_mainloop *mainloop = NULL;
|
||||
|
||||
char *s;
|
||||
int r = 0, retval = 1, d = 0;
|
||||
int daemon_pipe[2] = { -1, -1 };
|
||||
|
|
@ -329,6 +328,23 @@ int main(int argc, char *argv[]) {
|
|||
struct timeval tv;
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(__linux__) && defined(__OPTIMIZE__)
|
||||
/*
|
||||
Disable lazy relocations to make usage of external libraries
|
||||
more deterministic for our RT threads. We abuse __OPTIMIZE__ as
|
||||
a check whether we are a debug build or not.
|
||||
*/
|
||||
|
||||
if (!getenv("LD_BIND_NOW")) {
|
||||
putenv(pa_xstrdup("LD_BIND_NOW=1"));
|
||||
|
||||
/* We have to execute ourselves, because the libc caches the
|
||||
* value of $LD_BIND_NOW on initialization. */
|
||||
pa_assert_se(execv("/proc/self/exe", argv) == 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_GETUID
|
||||
real_root = getuid() == 0;
|
||||
suid_root = !real_root && geteuid() == 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue