/usr/include/yalecad/cleanup.h is in libycadgraywolf-dev 0.1.4+20170307gite1bf319-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | /* -----------------------------------------------------------------
"@(#) cleanup.h (Yale) version 1.6 11/2/91"
FILE: cleanup.h
DESCRIPTION:This file contains include file for cleanup handler
routines. To use cleanup handler included '<signal.h>'
at the top of main.c and #define CLEANUP_C either by
uncommenting the define in this file or by setting the
variable in the makefile: -DCLEANUP_H. In addition,
the first executable line of the program must be
INITCLEANUP() macro. In order for the handler to work,
the INITCLEANUP call must occur in the top level routine,
ie., main.c .
CONTENTS: MACRO DEFINITIONS
DATE: Feb 2, 1988
REVISIONS: Mar 9, 1989 - modified conditional compiles so you can
avoid compilation on foreign machines.
----------------------------------------------------------------- */
/* cleanup.h definitions for cleanup handler system */
/* makefile sets this variable automatically but you can manually */
/* define it here if you want and your system supports UNIX signals */
/* #define CLEANUP_C - we want a cleanup handler. */
#ifndef CLEANUP_H
#define CLEANUP_H
#define NODUMP 0
#define YESDUMP 1
#define MAYBEDUMP 2
#ifdef CLEANUP_C
#include <signal.h>
#include <yalecad/base.h>
#ifdef linux
extern void Ycleanup(int);
#else
extern void Ycleanup(int, int, struct sigcontext *);
#endif
/* initialization cleanup macro */
/* first argument - argv[0] - program name */
/* second argument - function - user function that will be executed upon
fault */
/* third argument - dumpFlag - allows users to control core dump */
/* signal(SIGQUIT,cleanup); - remove due to dbx bug */
/* signal(SIGINT,cleanup); - remove due to dbx bug */
#define YINITCLEANUP( argv, function, dumpFlag ) \
{ \
signal(SIGHUP,Ycleanup); \
signal(SIGILL,Ycleanup);\
signal(SIGFPE,Ycleanup);\
signal(SIGSEGV,Ycleanup);\
signal(SIGBUS,Ycleanup);\
signal(SIGSYS,Ycleanup);\
signal(SIGTERM,Ycleanup);\
signal(SIGUSR1,Ycleanup);\
YinitCleanup( argv, function, dumpFlag ) ; \
}
/*---------------------------------------------------------
initCleanup - sets static variables for cleanup handler.
--------------------------------------------------------*/
VOID YinitCleanup( P3(char *argv, BOOL (*function)(), int dump) );
#else
/* no cleanup handler - null it out */
#define YINITCLEANUP( argv, function, dumpFlag )
#endif /* CLEANUP_C */
#endif /* CLEANUP_H */
|