rendered paste bodyint radiusrun (int **data) {
// unsigned char buffer[MAX_RADIUS_PACKET_LEN];
unsigned char *buffer = (unsigned char *) malloc(MAX_RADIUS_PACKET_LEN+1);
unsigned char *packet;
packet = buffer;
struct sockaddr_in * fromaddr;
int pfd;
int size;
fd_set set;
struct timeval timeout;
int nfd;
time_t next = 0;
char saddr[32];
pfd = create_udp_socket(radiusa_listen_port);
signal(SIGINT, quit);
signal(SIGTERM, quit);
signal(SIGCHLD, SIG_IGN);
for (;;) {
FD_ZERO(&set);
FD_SET(pfd, &set);
do {
nfd = select(pfd + 1, &set, NULL, NULL, &timeout);
} while (nfd < 0 && errno == EINTR);
if (nfd < 0) {
error("select 1");
}