add esignal.h