summaryrefslogtreecommitdiffstats
path: root/src/misc/util/utilSignal.h
diff options
context:
space:
mode:
authorBaruch Sterin <baruchs@gmail.com>2011-02-01 11:13:53 -0800
committerBaruch Sterin <baruchs@gmail.com>2011-02-01 11:13:53 -0800
commitb538a5fad096764a686a68f843f74ee36d3c7ef1 (patch)
treebdeacf8e2427a12ecb5e047bf865c44b6ffc003a /src/misc/util/utilSignal.h
parent624af674a0e7f1a675917afaaf371db6a5588821 (diff)
downloadabc-b538a5fad096764a686a68f843f74ee36d3c7ef1.tar.gz
abc-b538a5fad096764a686a68f843f74ee36d3c7ef1.tar.bz2
abc-b538a5fad096764a686a68f843f74ee36d3c7ef1.zip
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.
Diffstat (limited to 'src/misc/util/utilSignal.h')
-rw-r--r--src/misc/util/utilSignal.h71
1 files changed, 71 insertions, 0 deletions
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 ///
+////////////////////////////////////////////////////////////////////////