X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fprof2%2Fprofile.c;h=dd3bf7e0963ed6741f22d65f3fdbd88855e015a6;hp=6103b5334a10b3a4d6fe6aba13a6484b849ada25;hb=f41ee8a0f00338fffb7fd6760a5ecd04c0101a41;hpb=c053918502e6ec08433a0650ce37af35431f15b7 diff --git a/cinelerra-5.1/prof2/profile.c b/cinelerra-5.1/prof2/profile.c index 6103b533..dd3bf7e0 100644 --- 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); - 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; @@ -708,6 +708,14 @@ void profileStart(void) 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); @@ -718,6 +726,7 @@ int profileMain(int ac,char **av,char **ev) 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);