/* -*-c-*-
*
- * $Id: tripe.c,v 1.1 2001/02/03 20:26:37 mdw Exp $
+ * $Id: tripe.c,v 1.4 2001/02/16 21:41:31 mdw Exp $
*
* Main program
*
/*----- Revision history --------------------------------------------------*
*
* $Log: tripe.c,v $
+ * Revision 1.4 2001/02/16 21:41:31 mdw
+ * Add a new buffer.
+ *
+ * Revision 1.3 2001/02/04 17:10:40 mdw
+ * Remove a debugging @abort@ call.
+ *
+ * Revision 1.2 2001/02/03 22:33:00 mdw
+ * Stuff more randomness into the pool in the interval timer.
+ *
* Revision 1.1 2001/02/03 20:26:37 mdw
* Initial checkin.
*
/*----- Global variables --------------------------------------------------*/
sel_state sel;
-octet buf_i[PKBUFSZ], buf_o[PKBUFSZ];
+octet buf_i[PKBUFSZ], buf_o[PKBUFSZ], buf_t[PKBUFSZ];
/*----- Static variables --------------------------------------------------*/
{
struct timeval tvv;
T( trace(T_PEER, "peer: interval timer"); )
+ rand_seed(RAND_GLOBAL, HASHSZ);
p_interval();
tvv = *tv;
tvv.tv_sec += T_INTERVAL;
km_init(kr_priv, kr_pub, tag_priv);
a_init(csock);
if (f & f_daemon) {
- if (u_daemon)
+ if (u_daemon())
die(EXIT_FAILURE, "couldn't become a daemon: %s", strerror(errno));
a_daemon();
}
selerr = 0;
else if (errno != EINTR && errno != EAGAIN) {
a_warn("select failed: %s", strerror(errno));
- abort();
selerr++;
if (selerr > 8) {
a_warn("too many select errors: bailing out");