From b538a5fad096764a686a68f843f74ee36d3c7ef1 Mon Sep 17 00:00:00 2001 From: Baruch Sterin Date: Tue, 1 Feb 2011 11:13:53 -0800 Subject: 1. Replace system() with a function that responds to SIGINT. 2. Add functions to cleanup temporary files on SIGINT. 3. Fix bugs related to signal handling. --- src/misc/util/utilSignal.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/misc/util/utilSignal.h (limited to 'src/misc/util/utilSignal.h') diff --git a/src/misc/util/utilSignal.h b/src/misc/util/utilSignal.h new file mode 100644 index 00000000..d9802aa0 --- /dev/null +++ b/src/misc/util/utilSignal.h @@ -0,0 +1,71 @@ +/**CFile**************************************************************** + + FileName [utilSignal.h] + + SystemName [ABC: Logic synthesis and verification system.] + + PackageName [] + + Synopsis [] + + Author [] + + Affiliation [UC Berkeley] + + Date [] + + Revision [] + +***********************************************************************/ + +#ifndef __UTIL_SIGNAL_H__ +#define __UTIL_SIGNAL_H__ + +//////////////////////////////////////////////////////////////////////// +/// INCLUDES /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// PARAMETERS /// +//////////////////////////////////////////////////////////////////////// + +ABC_NAMESPACE_HEADER_START + +//////////////////////////////////////////////////////////////////////// +/// BASIC TYPES /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// MACRO DEFINITIONS /// +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +/// FUNCTION DECLARATIONS /// +//////////////////////////////////////////////////////////////////////// + +/*=== utilSignal.c ==========================================================*/ + +void Util_SignalCleanup(); + +void Util_SignalStartHandler(); +void Util_SignalResetHandler(); +void Util_SignalStopHandler(); + +void Util_SignalBlockSignals(); +void Util_SignalUnblockSignals(); + +void Util_SignalAddChildPid(int pid); +void Util_SignalRemoveChildPid(int pid); + +int Util_SignalTmpFile(const char* prefix, const char* suffix, char** out_name); +void Util_SignalTmpFileRemove(const char* fname, int fLeave); + +int Util_SignalSystem(const char* cmd); + +ABC_NAMESPACE_HEADER_END + +#endif + +//////////////////////////////////////////////////////////////////////// +/// END OF FILE /// +//////////////////////////////////////////////////////////////////////// -- cgit v1.2.3