use std::env;
use std::fs::File;
use std::os::fd::AsRawFd;
use std::thread;
use std::time::Duration;
use nix::sys::socket::bind;
use nix::sys::socket::socket;
use nix::sys::socket::AddressFamily;
use nix::sys::socket::NetlinkAddr;
use nix::sys::socket::SockFlag;
use nix::sys::socket::SockProtocol;
use nix::sys::socket::SockType;
fn main() {
let signal_path =
env::var("PTOOLS_TEST_READY_FILE").expect("PTOOLS_TEST_READY_FILE must be set");
let fd = socket(
AddressFamily::Netlink,
SockType::Datagram,
SockFlag::empty(),
Some(SockProtocol::NetlinkRoute),
)
.unwrap();
bind(fd.as_raw_fd(), &NetlinkAddr::new(0, 0)).unwrap();
File::create(signal_path).unwrap();
loop {
thread::sleep(Duration::from_millis(100));
}
}