/[m4]/m4/src/stackovf.c
ViewVC logotype

Diff of /m4/src/stackovf.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by gary, Mon Aug 20 19:42:38 2001 UTC revision 1.7 by gary, Thu Sep 20 03:48:05 2001 UTC
# Line 118  extern int     sigstack        (struct sigstack *, Line 118  extern int     sigstack        (struct sigstack *,
118  extern int      sigvec          (int, struct sigvec *, struct sigvec *);  extern int      sigvec          (int, struct sigvec *, struct sigvec *);
119  #endif  #endif
120    
121    static const char *stackbuf;
122  static const char *stackbot;  static const char *stackbot;
123  static const char *stackend;  static const char *stackend;
124  static const char *arg0;  static const char *arg0;
# Line 335  setup_stackovf_trap (char *const *argv, Line 336  setup_stackovf_trap (char *const *argv,
336    {    {
337      stack_t ss;      stack_t ss;
338    
339        stackbuf = (char *) xmalloc (SIGSTKSZ);
340    
341      ss.ss_size = SIGSTKSZ;      ss.ss_size = SIGSTKSZ;
342      ss.ss_sp = xmalloc (ss.ss_size);      ss.ss_sp = (void *) stackbuf;
343      ss.ss_flags = 0;      ss.ss_flags = 0;
344      if (sigaltstack (&ss, (stack_t *) 0) < 0)      if (sigaltstack (&ss, (stack_t *) 0) < 0)
345        {        {
346          xfree (ss.ss_sp);          xfree (stackbuf);
347          error (1, errno, "sigaltstack");          error (1, errno, "sigaltstack");
348        }        }
349    }    }
# Line 350  setup_stackovf_trap (char *const *argv, Line 353  setup_stackovf_trap (char *const *argv,
353    
354    {    {
355      struct sigstack ss;      struct sigstack ss;
356      char *stackbuf = xmalloc (2 * SIGSTKSZ);      stackbuf = (char *) xmalloc (2 * SIGSTKSZ);
357    
358      ss.ss_sp = stackbuf + SIGSTKSZ;      ss.ss_sp = stackbuf + SIGSTKSZ;
359      ss.ss_onstack = 0;      ss.ss_onstack = 0;
# Line 408  Error - Do not know how to catch signals Line 411  Error - Do not know how to catch signals
411    
412  }  }
413    
414    void
415    stackovf_exit (void)
416    {
417      XFREE (stackbuf);
418    }
419    
420  #endif /* USE_STACKOVF */  #endif /* USE_STACKOVF */

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26