[perf] remove global lock from signal pending path
The thread_initexit_lock is a contention hog for signal handling:
Thread 685 (Thread 0x7f0ca95b4700 (LWP 95391)):
#0 0x00007f0cabc7a47e in syscall_ready ()
#1 0x00007f0cc4842280 in thread_in_DR_exclusion ()
#2 0x00007f0cabd17584 in ksynch_wait (futex=futex@entry=0x6, mustbe=mustbe@entry=1) at dynamorio/trunk/core/unix/ksynch_linux.c:120
#3 0x00007f0cabd24fed in mutex_wait_contended_lock (lock=0x6) at dynamorio/trunk/core/unix/os.c:8882
#4 0x00007f0cabd2f5e6 in mutex_lock (lock=<optimized out>) at dynamorio/trunk/core/utils.c:888
#5 0x00007f0cabd29415 in translate_sigcontext (dcontext=dcontext@entry=0x7f0c44962ac0, uc=uc@entry=0x7f0c44ca6ac0, avoid_failure=<optimized out>, f=f@entry=0x7f0c44c8d7e8)
at dynamorio/trunk/core/unix/signal.c:2179
#6 0x00007f0cabd2a1db in record_pending_signal (dcontext=dcontext@entry=0x7f0c44962ac0, sig=sig@entry=27, ucxt=ucxt@entry=0x7f0c44ca6ac0, frame=frame@entry=0x7f0c44ca6ab8,
forged=forged@entry=0 '\000', access_address=0x0) at dynamorio/trunk/core/unix/signal.c:3650
#7 0x00007f0cabd2ba54 in master_signal_handler_C (sig=<optimized out>, siginfo=<optimized out>, ucxt=0x7f0c44ca6ac0, xsp=0x7f0c44ca6ab8 "\024\240ǫ\f\177")
at dynamorio/trunk/core/unix/signal.c:4526