Пример #1
0
/* Kill the receiver */
JNIEXPORT void JNICALL
Java_org_apache_harmony_luni_internal_process_SystemProcess_destroyImpl (JNIEnv * env, jobject recv)
{
  jlong pHandle;
  pHandle =
    (*env)->GetLongField (env, recv,
        HARMONY_CACHE_GET (env,
           FID_org_apache_harmony_luni_internal_process_SystemProcess_handle));
  termProc ((IDATA) pHandle);
}
int main(int argc,char *argv[]){
  char *TimeMAX_wait = NULL;
  int nPA,nPB;

  parse_argv(argc,argv,&nPA,&nPB,&TimeMAX_wait);
  install_signal_handler();

  init_TProc(nPA,nPB);

  create_proc_byclass(PB,nPB,0,TimeMAX_wait);
  create_proc_byclass(PA,nPA,nPB,TimeMAX_wait);

  wait_proc(nPA);

  printf("[MANAGER] Program Termination (all PA processes terminated)\n");
  termProc();
  freeResources();

  return EXIT_SUCCESS;
}
void signal_handler(int sig){
  printf("[MANAGER] Program termination CTRL + C\n");
  termProc();
  freeResources();
  _exit(EXIT_SUCCESS);
}