The Higher Education and Research forge

Home My Page Projects Code Snippets Project Openings MMD
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

1 /*---------------------------------------------------------------------------*\
2     \o/\o/\o/
3     MMD
4     Version : 0.0.3
5     Web : https://github.com/alainbastide/MMD
6 -------------------------------------------------------------------------------
7 License
9     MMD is free software: you can redistribute it and/or modify it
10     under the terms of the GNU General Public License as published by the
11     Free Software Foundation, either version 3 of the License, or (at your
12     option) any later version.
13     
14     MMD is distributed in the hope that it will be useful, but
15     WITHOUT ANY WARRANTY; without even the implied warranty of
16     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17     General Public License for more details.
18     
19     You should have received a copy of the GNU General Public License
20     along with foam-extend.  If not, see <http://www.gnu.org/licenses/>.
21     
22 Application
23     explain
24     
25 Description
26     explain
27     
28 Author
29     Alain Bastide, Université de La Réunion, FRANCE.  All rights reserved
30     
31 \*---------------------------------------------------------------------------*/
33 #include "mmd.h"
37 clock_t startFunction(const char * functionName)
38 {
39   affiche("%-40s : Start\n", functionName);
40   
41   return clock();
42 }
44 void endFunction(const char * functionName, clock_t t)
45 {
46   t = clock() - t;
47   double time_taken = ((double)t) / CLOCKS_PER_SEC; // in seconds
48   
49   affiche("%-40s : %f seconds to execute\n", functionName, time_taken);
50   
51 }
54 void todo(void) 
55
56   FILE * fp; 
57   char * line = NULL; 
58   size_t len = 0; 
59   ssize_t read; 
60   
61   fp=fopen("../TODO.md","r"); 
62   if(fp) {
63       warning("TODO");
64       while ((read = getline(&line, &len, fp)) != -1) { 
65           affiche("%s", line); 
66         } 
67       
68       fclose(fp); 
69       if (line) 
70         free(line); 
71     }
72   else
73     {
74       warning("File not found : TOTO.md");
75       warning_debug("File not found : TOTO.md");
76     }
77 }
79  
80 void setHandler(void (*handler)(int,siginfo_t *,void *))
81 {
82         struct sigaction action;
83         action.sa_flags = SA_SIGINFO;
84         action.sa_sigaction = handler;
85  
86         if (sigaction(SIGFPE, &action, NULL) == -1) {
87                 perror("sigfpe: sigaction");
88                 exit(1);
89         }
90         if (sigaction(SIGSEGV, &action, NULL) == -1) {
91                 perror("sigsegv: sigaction");
92                 exit(1);
93         }
94         if (sigaction(SIGILL, &action, NULL) == -1) {
95                 perror("sigill: sigaction");
96                 exit(1);
97         }
98         if (sigaction(SIGBUS, &action, NULL) == -1) {
99                 perror("sigbus: sigaction");
100                 exit(1);
101         }
102  
105 //void fault_handler(int signo, siginfo_t *info, void *extra) 
106 //{
107 //      printf("Signal %d received\n", signo);
108 //      abort();
109 //}
112 //void fault_handler(int signo, siginfo_t *info, void *extra) 
113 //{
114 //      int i;
115 //      printf("Signal %d received \n", signo);
116 //        for(i=0; i < hw_size ; i++)
117 //           printf("HW regs[%d] = %x\n", i, hwmap[i]);
118 //      abort();
119  
120 //}