/* Implementation */ int main (int argc, char **argv) { int option = 0; long numberOfWorkers = DEFAULT_WORKERS; while ((option = getopt(argc, argv, "p:t:")) != -1) { switch (option) { case 'p': numberOfWorkers = atol(optarg); /*printf("Spawning %lu processes\n", numberOfWorkers);*/ startProcesses(numberOfWorkers); break; case 't': numberOfWorkers = atol(optarg); /*printf("Spawning %lu threads\n", numberOfWorkers);*/ startThreads(numberOfWorkers); break; case '?': default: usage(argv[0]); } } return 0; }
int DirScaner::run() { int retVal; bool reRun = false; do { retVal = startProcesses(); syslog(LOG_INFO, "[run] retval %d\n", retVal); if (retVal >= 0) // если мы потомок { bool isInit = true; int status = 0; while(true) { status = scanDir(m_buffer[retVal].dirName.c_str(), isInit); if(status) break; if(isInit) { syslog(LOG_INFO, "[run] initial map successfull\n"); isInit = false; } if(g_destroySelf) { exit(0); } sleep(m_buffer[retVal-1].mTime); } return status; } else if(retVal == -1){ // бесконечный цикл работы while(true) { pause(); if(g_destroySelf) { destroyAllChildren(); exit(0); } if(g_reloadCfg){ destroyAllChildren(); loadConfig(); g_reloadCfg = false; reRun = true; break; } } } } while(reRun); return retVal; }
int main(int argc,char **argv) { char* serverIPAddress; int serverPort; int myPort; // char myName[8]; struct sockaddr_in myAddr; int addr_size = sizeof serverAddr; freopen(NULL, "rb", stdin); memset(&serverAddr, 0, addr_size); if (argc >= 4) { // the server address serverIPAddress = argv[1]; // the server port serverPort = atoi(argv[2]); // the local port myPort = atoi(argv[3]); // the client name /* if (argc >= 5) { int l = strlen(argv[4]); memcpy(myName, argv[4], l); memset(myName+l, ' ', 8-l); } else { sprintf(myName, "DEFAULT "); } */ } else { bail("Usage: mavlinkUDP <serveraddress> <serverport> <myport>"); } serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(serverPort); serverAddr.sin_addr.s_addr = inet_addr(serverIPAddress); if (serverAddr.sin_addr.s_addr == INADDR_NONE ) bail("bad server address."); /* * Create a UDP socket for server comms: */ sock = socket(AF_INET,SOCK_DGRAM,0); if (sock == -1) bail("socket()"); // Set socket "file" to nonblocking I/O. // int flags = fcntl(s, F_GETFL); // flags |= O_NONBLOCK; // fcntl(s, F_SETFL, flags); /* * Bind client to the given source port (important for knocking holes through NATs * Actually client binding is not necessary onboard the UAV. We still want to do it though, so we can make new "connections" just the see if the server gets them. */ myAddr.sin_family = AF_INET; myAddr.sin_port = htons(myPort); myAddr.sin_addr.s_addr = INADDR_ANY; if (bind(sock, (struct sockaddr*)&myAddr, addr_size) < 0) { bail("bind"); abort(); } startProcesses(); while(1); // system ("/bin/stty cooked"); return 0; }