void LLScriptLSOParse::printData(LLFILE *fp) { printNameDesc(fp); printRegisters(fp); printGlobals(fp); printGlobalFunctions(fp); printStates(fp); printHeap(fp); }
int body() { char c; printf("proc %d resumes to body()\n", running->pid); while(1) { printGlobals(); color = running->pid + 7; printf("proc %d running : enter a key : ", running->pid); c = getc(); printf("%c\n", c); switch(c) { case 'f' : do_kfork(); break; case 's' : do_tswitch(); break; case 'q' : do_exit(); break; } } }
main() { char usrInput; printf("\n\nMTX starts in main()\n"); init(); printGlobals(); while(1){ printf("proc 0 running : enter a key : \n"); usrInput = getc(); kfork(); printf("\n"); //if readyQueue != empty if(readyQueue) { tswitch(); } } }
/* * === FUNCTION ====================================================================== * Name: listenToSocket * Description: * ===================================================================================== */ void *listenToSocket ( void *arg ) { int newsockfd, n, sockfd; char buffer[1024]; sockfd = g_players[g_curr_player].socket; newsockfd = g_players[g_curr_player].newsocket; /* Send Globals and Board State */ memset( buffer, 0, sizeof(char) * 1024); printGlobals( buffer ); printCurrentBoard( buffer ); n = write(newsockfd,buffer,strlen(buffer)); printf("Sent: %d\n", n); if (n < 0) error("ERROR writing to socket"); /* Lock */ pthread_mutex_lock(&g_mutex); /* Receive new message */ memset( buffer, 0, sizeof(char) * 1024); n = read(newsockfd,buffer,1023); if (n < 0) error("ERROR reading from socket"); /* Parse message and manage turn */ parseMessage( buffer ); /* Redraw */ glutPostRedisplay(); g_waiting = 0; /* Unlock */ pthread_mutex_unlock(&g_mutex); return NULL; }
void traceHeader(struct part *part) { int i, ncols; struct jig *j; struct tm *ptr; time_t tm; tm = time(NULL); ptr = localtime(&tm); if (CommandLine != NULL && CommandLine[0] != '\0') { write_traceline("# Command Line: %s\n", CommandLine); } printGlobals(); // asctime provides '\n' so we needn't add one write_traceline("# Date and Time: %s", asctime(ptr)); if (InputFileName != NULL && InputFileName[0] != '\0') { write_traceline("# Input File: %s\n", InputFileName); } if (GromacsOutputBaseName != NULL && GromacsOutputBaseName[0] != '\0') { write_traceline("# Gromacs Output Base Name: %s\n", GromacsOutputBaseName); } if (OutputFileName != NULL && OutputFileName[0] != '\0') { write_traceline("# Output File: %s\n", OutputFileName); } if (TraceFileName != NULL && TraceFileName[0] != '\0') { write_traceline("# Trace File: %s\n", TraceFileName); } if (IDKey != NULL && IDKey[0] != '\0') { write_traceline("# IDKey: %s\n", IDKey); } if (ToMinimize) { write_traceline("#\n"); write_traceline("# Run type: Energy Minimization.\n"); write_traceline("#\n"); write_traceline("# iteration RMS force (pN) maximum force (pN)\n"); write_traceline("#\n"); return; } write_traceline("# \n"); write_traceline("# Run type: Dynamics.\n"); write_traceline("# \n"); write_traceline("# Number of Frames: %d\n", NumFrames); write_traceline("# Steps per Frame: %d\n", IterPerFrame); write_traceline("# Temperature: %.1f\n", Temperature); if (part == NULL) { write_traceline("# Warning: no part supplied.\n"); return; } write_traceline("# Number of Atoms: %d\n", part->num_atoms); write_traceline("# \n"); for (i=0; i<part->num_jigs; i++) { j = part->jigs[i]; switch (j->type) { case Thermostat: write_traceline("# %s Temperature setting: %f K\n", j->name, j->j.thermostat.temperature); break; case LinearMotor: write_traceline("# %s Force: %f pN\n", j->name, j->j.lmotor.force); write_traceline("# %s Stiffness: %f N/m\n", j->name, j->j.lmotor.stiffness); break; case RotaryMotor: write_traceline("# %s Zero Speed Torque: %f nN-nm\n", j->name, j->j.rmotor.stall / 1e6); write_traceline("# %s Zero Torque Speed: %f Ghz\n", j->name, j->j.rmotor.speed / (2.0e9 * Pi)); write_traceline("# %s Initial Speed: %f Ghz\n", j->name, j->j.rmotor.omega / (2.0e9 * Pi)); write_traceline("# %s Damping coefficient: %f\n", j->name, j->j.rmotor.damping_enabled ? j->j.rmotor.dampingCoefficient : 0.0); break; default: break; } } write_traceline("#\n"); ncols = 0; if (PrintPotentialEnergy) { ncols += 3; } for (i=0; i<part->num_jigs; i++) { ncols += countOutputColumns(part->jigs[i]); } // Column count does not include the time column. Cad uses this // to configure plotting interface. write_traceline("# %d columns:\n", ncols); for (i=0; i<part->num_jigs; i++) { j = part->jigs[i]; switch (j->type) { case DihedralMeter: write_traceline("# %s: dihedral (degrees)\n", j->name); break; case AngleMeter: write_traceline("# %s: angle (degrees)\n", j->name); break; case RadiusMeter: write_traceline("# %s: distance (angstroms)\n", j->name); break; case Ground: write_traceline("# %s: torque (nn-nm)\n", j->name); break; case Thermometer: write_traceline("# %s: temperature (K)\n", j->name); break; case Thermostat: write_traceline("# %s: energy added (zJ)\n", j->name); break; case LinearMotor: write_traceline("# %s: displacement (angstroms)\n", j->name); break; case RotaryMotor: write_traceline("# %s: speed (GHz)\n", j->name); write_traceline("# %s: torque (nn-nm)\n", j->name); break; } } if (PrintPotentialEnergy) { write_traceline("# Structure: potential energy (attojoules)\n"); write_traceline("# Structure: kinetic energy (attojoules)\n"); write_traceline("# Structure: total energy (attojoules)\n"); } write_traceline("#\n"); }