chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Complete Disobedience transition to event_ from _monitor.
[disorder]
/
server
/
state.c
diff --git
a/server/state.c
b/server/state.c
index 455cf41f09403e73cf92da3d778538843b7e4a0f..2be2edd53e8a12401163f10a48f128d27a075587 100644
(file)
--- a/
server/state.c
+++ b/
server/state.c
@@
-1,6
+1,6
@@
/*
* This file is part of DisOrder.
/*
* This file is part of DisOrder.
- * Copyright (C) 2004, 2005 Richard Kettlewell
+ * Copyright (C) 2004, 2005
, 2007, 2008
Richard Kettlewell
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-18,32
+18,7
@@
* USA
*/
* USA
*/
-#include <config.h>
-
-#include <stdlib.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <locale.h>
-#include <stdio.h>
-#include <pcre.h>
-#include <netdb.h>
-#include <sys/un.h>
-#include <netinet/in.h>
-
-#include "event.h"
-#include "play.h"
-#include "trackdb.h"
-#include "state.h"
-#include "configuration.h"
-#include "log.h"
-#include "queue.h"
-#include "server.h"
-#include "printf.h"
-#include "addr.h"
+#include "disorder-server.h"
static const char *current_unix;
static int current_unix_fd;
static const char *current_unix;
static int current_unix_fd;
@@
-52,11
+27,12
@@
static struct addrinfo *current_listen_addrinfo;
static int current_listen_fd;
void quit(ev_source *ev) {
static int current_listen_fd;
void quit(ev_source *ev) {
+ info("shutting down...");
quitting(ev);
trackdb_close();
trackdb_deinit();
quitting(ev);
trackdb_close();
trackdb_deinit();
- info("
termina
ting");
-
_
exit(0);
+ info("
exi
ting");
+ exit(0);
}
static void reset_socket(ev_source *ev) {
}
static void reset_socket(ev_source *ev) {
@@
-66,14
+42,10
@@
static void reset_socket(ev_source *ev) {
char *name;
static const struct addrinfo pref = {
char *name;
static const struct addrinfo pref = {
- AI_PASSIVE,
- PF_INET,
- SOCK_STREAM,
- IPPROTO_TCP,
- 0,
- 0,
- 0,
- 0
+ .ai_flags = AI_PASSIVE,
+ .ai_family = PF_INET,
+ .ai_socktype = SOCK_STREAM,
+ .ai_protocol = IPPROTO_TCP,
};
/* unix first */
};
/* unix first */
@@
-143,17
+115,21
@@
int reconfigure(ev_source *ev, int reload) {
if(reload) {
need_another_rescan = trackdb_rescan_cancel();
trackdb_close();
if(reload) {
need_another_rescan = trackdb_rescan_cancel();
trackdb_close();
- if(config_read())
+ if(config_read(
1
))
ret = -1;
else {
/* Tell the speaker it needs to reload its config too. */
speaker_reload();
info("%s: installed new configuration", configfile);
}
ret = -1;
else {
/* Tell the speaker it needs to reload its config too. */
speaker_reload();
info("%s: installed new configuration", configfile);
}
- }
- trackdb_open();
+ trackdb_open(TRACKDB_NO_UPGRADE);
+ } else
+ /* We only allow for upgrade at startup */
+ trackdb_open(TRACKDB_CAN_UPGRADE);
if(need_another_rescan)
if(need_another_rescan)
- trackdb_rescan(ev);
+ trackdb_rescan(ev, 1/*check*/, 0, 0);
+ /* Arrange timeouts for schedule actions */
+ schedule_init(ev);
if(!ret) {
queue_read();
recent_read();
if(!ret) {
queue_read();
recent_read();