add signal deal func