projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add prof sigusr1 feature, tweak amdgup tooltip, fix colorpicker handle_new_color...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
prof2
/
profile.c
diff --git
a/cinelerra-5.1/prof2/profile.c
b/cinelerra-5.1/prof2/profile.c
index 6103b5334a10b3a4d6fe6aba13a6484b849ada25..dd3bf7e0963ed6741f22d65f3fdbd88855e015a6 100644
(file)
--- a/
cinelerra-5.1/prof2/profile.c
+++ b/
cinelerra-5.1/prof2/profile.c
@@
-526,7
+526,7
@@
static int readNmMaps(unsigned long fwa)
}
}
dprintf(stderr,", %d symbols\n",tsym->n - n);
}
}
dprintf(stderr,", %d symbols\n",tsym->n - n);
- if( mod < 0 ) {
+ if( mod < 0
&& strncmp("linux-vdso.so.",nm,14)
) {
fprintf(stderr,"profile - Cannot map module - %s\n",nm);
// exit(1);
// return -1;
fprintf(stderr,"profile - Cannot map module - %s\n",nm);
// exit(1);
// return -1;
@@
-708,6
+708,14
@@
void profileStart(void)
dprintf(stderr,"starting profile.\n");
}
dprintf(stderr,"starting profile.\n");
}
+static void sigusr1(int n)
+{
+ profileStop();
+ profileShow();
+ delAllTbls();
+ profileStart();
+}
+
int profileMain(int ac,char **av,char **ev)
{
int (*fmain)(int ac,char **av,char **ev);
int profileMain(int ac,char **av,char **ev)
{
int (*fmain)(int ac,char **av,char **ev);
@@
-718,6
+726,7
@@
int profileMain(int ac,char **av,char **ev)
exit(1);
}
atexit(profileExit);
exit(1);
}
atexit(profileExit);
+ signal(SIGUSR1, sigusr1);
fmain = (int (*)(int,char **,char **))adr;
dprintf(stderr,"starting \"main\" at: %p\n",fmain);
int ret = fmain(ac,av,ev);
fmain = (int (*)(int,char **,char **))adr;
dprintf(stderr,"starting \"main\" at: %p\n",fmain);
int ret = fmain(ac,av,ev);