fixing free-signal-handler preserve-pointer bug.