signal.cpp