1/*
2 * SEGV / backtrace handling test.
3 *
4 * copied from test-sig.c
5 *
6 * Copyright (C) 2013 by David Lamparter, Open Source Routing.
7 * Copyright (C) 2013 by Internet Systems Consortium, Inc. ("ISC")
8 *
9 * This file is part of Quagga
10 *
11 * Quagga is free software; you can redistribute it and/or modify it
12 * under the terms of the GNU General Public License as published by the
13 * Free Software Foundation; either version 2, or (at your option) any
14 * later version.
15 *
16 * Quagga is distributed in the hope that it will be useful, but
17 * WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
19 * General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with Quagga; see the file COPYING.  If not, write to the Free
23 * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
24 * 02111-1307, USA.
25 */
26
27#include <zebra.h>
28#include <sigevent.h>
29#include "lib/log.h"
30#include "lib/memory.h"
31
32struct quagga_signal_t sigs[] =
33{
34};
35
36struct thread_master *master;
37
38int
39threadfunc (struct thread *thread)
40{
41  int *null = NULL;
42  *null += 1;
43  return 0;
44}
45
46int
47main (void)
48{
49  master = thread_master_create ();
50  signal_init (master, array_size(sigs), sigs);
51
52  zlog_default = openzlog("testsegv", ZLOG_NONE,
53                          LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON);
54  zlog_set_level (NULL, ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
55  zlog_set_level (NULL, ZLOG_DEST_STDOUT, LOG_DEBUG);
56  zlog_set_level (NULL, ZLOG_DEST_MONITOR, ZLOG_DISABLED);
57
58  thread_execute (master, threadfunc, 0, 0);
59
60  exit (0);
61}
62