ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/vped.C
(Generate patch)

Comparing gvpe/src/vped.C (file contents):
Revision 1.14 by pcg, Sat Jan 17 14:50:40 2004 UTC vs.
Revision 1.19 by pcg, Fri Jun 11 15:56:36 2004 UTC

1/* 1/*
2 vped.C -- the main file for vped 2 vped.C -- the main file for gvpe
3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl> 3 Copyright (C) 1998-2002 Ivo Timmermans <ivo@o2w.nl>
4 2000-2002 Guus Sliepen <guus@sliepen.eu.org> 4 2000-2002 Guus Sliepen <guus@sliepen.eu.org>
5 2003 Marc Lehmann <pcg@goof.com> 5 2003-2004 Marc Lehmann <pcg@goof.com>
6 6
7 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or 9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version. 10 (at your option) any later version.
21 21
22#include "config.h" 22#include "config.h"
23 23
24#include <cstdio> 24#include <cstdio>
25#include <cstring> 25#include <cstring>
26#include <cstdlib>
26#include <clocale> 27#include <clocale>
27 28
28#include <errno.h> 29#include <errno.h>
29#include <fcntl.h> 30#include <fcntl.h>
30#include <getopt.h> 31#include <getopt.h>
148*/ 149*/
149void cleanup_and_exit(int c) 150void cleanup_and_exit(int c)
150{ 151{
151 network.shutdown_all (); 152 network.shutdown_all ();
152 153
153 if (pidfilename) 154 if (conf.pidfilename)
154 remove_pid (pidfilename); 155 remove_pid (conf.pidfilename);
155 156
156 slog (L_INFO, _("terminating with exit code %d"), c); 157 slog (L_INFO, _("terminating with exit code %d"), c);
157 158
158 exit (c); 159 exit (c);
159} 160}
245 if (do_mlock) 246 if (do_mlock)
246 if (mlockall (MCL_CURRENT | MCL_FUTURE)) 247 if (mlockall (MCL_CURRENT | MCL_FUTURE))
247 slog (L_ERR, _("system call `%s' failed: %s"), "mlockall", strerror (errno)); 248 slog (L_ERR, _("system call `%s' failed: %s"), "mlockall", strerror (errno));
248#endif 249#endif
249 250
250 make_names ();
251 conf.read_config (true); 251 conf.read_config (true);
252 252
253 set_loglevel (llevel != L_NONE ? llevel : conf.llevel); 253 set_loglevel (llevel != L_NONE ? llevel : conf.llevel);
254 254
255 RAND_load_file ("/dev/urandom", 1024); 255 RAND_load_file ("/dev/urandom", 1024);
256 256
257 if (!THISNODE) 257 if (!THISNODE)
258 { 258 {
259 slog (L_ERR, _("current node not set, or node '%s' not found in configfile, use the -n switch when starting vped."), 259 slog (L_ERR, _("current node not set, or node '%s' not found in configfile, specify the nodename when starting vped."),
260 thisnode ? thisnode : "<unset>"); 260 thisnode ? thisnode : "<unset>");
261 exit (1); 261 exit (EXIT_FAILURE);
262 } 262 }
263 263
264 if (detach (do_detach)) 264 if (detach (do_detach))
265 exit (0); 265 exit (EXIT_SUCCESS);
266 266
267 setup_signals (); 267 setup_signals ();
268 268
269 if (!network.setup ()) 269 if (!network.setup ())
270 { 270 {
271 iom.loop (); 271 iom.loop ();
272 cleanup_and_exit (1); 272 cleanup_and_exit (EXIT_FAILURE);
273 } 273 }
274 274
275 slog (L_ERR, _("unable to setup network, unrecoverable error, exiting.")); 275 slog (L_ERR, _("unable to setup network, unrecoverable error, exiting."));
276 cleanup_and_exit (1); 276 cleanup_and_exit (EXIT_FAILURE);
277} 277}
278 278

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines