Rather than messing with flock, fnctl-F_SETLK, etc., just bind the port
before touching the log file & let the failure to bind the port keep
two instances of the server from stepping on each others' log i/o.
}
fn main() {
- let mut log = open_log_for_writing();
- let mut presses = HashMap::<MessageKey, Range>::new();
let socket = UdpSocket::bind("0.0.0.0:29803").expect("couldn't bind to address");
+ let mut presses = HashMap::<MessageKey, Range>::new();
+ let mut log = open_log_for_writing();
loop {
let mut buf = [0; MESSAGE_SIZE];
match socket.recv_from(&mut buf) {