// ---------------------------------------------------------------------------- void serverLoader::initServer() { blockSignals(); catchSignals(); q_da_real = msg_queue_init.msg_create(".",Q_DA_REAL_KEY); q_da_data = msg_queue_init.msg_create(".",Q_DA_DATA_KEY); q_da_send = msg_queue_init.msg_create(".",Q_DA_SEND_KEY); msg_queue_init.msg_set_attr(q_da_real); msg_queue_init.msg_set_attr(q_da_data); msg_queue_init.msg_set_attr(q_da_send); printf("q_da_real:%d\nq_da_data:%d\nq_da_send:%d\n",q_da_real,q_da_data,q_da_send); shmid = shm_init.shm_create(SHM_KEY,SHM_SIZE); semid = semaphore_init.sem_get(SEM_KEY,SEM_NSEMS); semaphore_init.sem_signal(semid); signal(SIGCHLD,SIG_IGN); //屏蔽僵死进程的产生 msg_id = 0; listenfd = linux_socket_init.serv_socket_create(SERV_PORT); }
int main(int argc, char **argv) { int special; plld = argv[0]; argc--; argv++; catchSignals(); if ( argc == 0 ) { fprintf(stderr, "No input files. Use %s -help.\n", plld); exit(0); } putenv("PLLD=true"); /* for subprograms */ verbose = FALSE; if ( argc > 2 && streq(argv[0], "-pl") ) special = 2; else special = 0; /* swipl-ld [-pl x] -v: verbose */ if ( argc-special == 1 && streq(argv[special], "-v") ) { arglist coptions; int i; memset(&coptions, 0, sizeof(coptions)); for(i=special; i < argc; i++) appendArgList(&coptions, argv[i]); callprog(PROG_CC, &coptions); return 0; } parseOptions(argc, argv); defaultProgram(&pl, PROG_PL); if ( build_defaults ) { nostate = TRUE; /* not needed and Prolog won't run */ defaultProgram(&cc, C_CC); #ifdef PLBASE defaultPath(&plbase, PLBASE); #else defaultPath(&plbase, PLHOME); #endif defaultPath(&plarch, PLARCH); defaultProgram(&pllib, C_PLLIB); addOptionString(C_LIBS); appendArgList(&ldoptions, C_LDFLAGS); appendArgList(&coptions, C_CFLAGS); appendArgList(&cppoptions, C_CFLAGS); #ifdef SO_EXT soext = strdup(SO_EXT); #endif #ifdef O_PLMT ensureOption(&coptions, "-D_REENTRANT"); ensureOption(&cppoptions, "-D_REENTRANT"); #ifdef _THREAD_SAFE /* FreeBSD */ ensureOption(&coptions, "-D_THREAD_SAFE"); ensureOption(&cppoptions, "-D_THREAD_SAFE"); #endif #endif } else { getPrologOptions(); } fillDefaultOptions(); if ( show_version ) { callprog(cc, &coptions); exit(0); } compileObjectFiles(); if ( !nolink ) { if ( shared ) linkSharedObject(); else { linkBaseExecutable(); if ( !nostate ) { createSavedState(); createOutput(); } } } removeTempFiles(); return 0; }
int main(int argc, char **argv) { int windX=10; int windY=30; int windWidth=320; int windHeight=200; int c; opterr = 0; openSound(configUseCD); catchSignals(); while ((c = getopt(argc, argv, "b:h:w:")) != -1){ switch (c) { case '?': fprintf(stderr, "%s: unknown option \"%s\"\n", argv[0], argv[optind-1]); usage(argv[0]); exit(1); case 'b': bright = (double) atoi(optarg); bright = bright/10; break; case 'w': windWidth = atoi(optarg); break; case 'h': windHeight = atoi(optarg); break; } } if (bright > 1.0) bright = 1.0; else if (bright < 0.0) bright = 0.0; if (windWidth < 1) windWidth = 320; if (windHeight < 1) windHeight = 200; setBrightness(bright); screenInit(windX,windY,windWidth,windHeight); output = new unsigned char[outWidth*outHeight*2]; coreInit(); time_t timer = time(NULL); int frames = 0; do { screenShow(); coreGo(); frames++; } while(!processUserInput()); timer = time(NULL) - timer; delete output; closeSound(); if (timer > 10) fprintf(stderr,"Frames per second: %f\n", double(frames)/timer); return 0; }
int main(int argc, char **argv) { int windX=10; int windY=30; int windWidth=uiWidth; int windHeight=uiHeight; int c; int xx, xy; opterr = 0; /* KAboutData aboutData( "kscdmagic", I18N_NOOP("kscdmagic"), KSCDMAGICVERSION, I18N_NOOP("sound visualisation"), KAboutData::License_GPL, "(c) 2000, Dirk Försterling"); aboutData.addAuthor("Paul Harrison",0, "*****@*****.**"); aboutData.addAuthor("Dirk Försterling",0, "*****@*****.**"); KCmdLineArgs::init( argc, argv, &aboutData ); KApplication magicApp; */ openSound(SourceCD, 44100, "/dev/dsp", NULL); catchSignals(); while ((c = getopt(argc, argv, "b:h:w:")) != -1){ switch (c) { case '?': fprintf(stderr, "%s: unknown option \"%s\"\n", argv[0], argv[optind-1]); usage(argv[0]); exit(1); case 'b': bright = (double) atoi(optarg); bright = bright/10; break; case 'w': windWidth = atoi(optarg); break; case 'h': windHeight = atoi(optarg); break; } } if (bright > 1.0) bright = 1.0; else if (bright < 0.0) bright = 0.0; if (windWidth < 1) windWidth = uiWidth; if (windHeight < 1) windHeight = uiHeight; screenInit(windX,windY,windWidth,windHeight); allocOutput(outWidth,outHeight); coreInit(); setStarSize(starSize); setBrightness(bright); time_t timer = time(NULL); int frames = 0; for(;;) { fade(); if (-1 == coreGo()) break; polygonEngine.clear(); for( xy = 0; xy < 48; xy++) { for( xx = 0; xx < 48; xx++) { if ( logo[xy][xx] != 0) { polygonEngine.add(32769, xx+10, xy+3); } } } polygonEngine.apply(outputBmp.data); screenShow(); frames++; if(processUserInput() == -1) break; } timer = time(NULL) - timer; delete ucoutput; closeSound(); if (timer > 10) fprintf(stderr,"Frames per second: %f\n", double(frames)/timer); return 0; } // main() /* linux */