| true | 377 | | trc_handle_trace_message( ID, src ) | | | 378 | | TRC_ID ID; | | | 379 | | int src; | | | 380 | | { | | | 381 | | TRC_DATADESC DD; | | | 382 | | | | | 383 | | TRC_TEVDESC TD; | | | 384 | | | | | 385 | | TRC_TEVTASK TT; | | | 386 | | | | | 387 | | TRC_HOST H; | | | | | ... | | | 404 | | int tusec; | | | 405 | | int tsec; | | | 406 | | int ecnt; | | | 407 | | int eid; | | | 408 | | int tid; | | | 409 | | int dt; | | | 410 | | | | | 411 | | int marker; | | | 412 | | int nest; | | | 413 | | | | | 414 | | ecnt = 0; | | | 415 | | | | | 416 | | TRC_PVMCKERR( pvm_upkint( &marker, 1, 1 ),
| | | 417 | | "Unpacking Trace Message", return( ecnt ) ); | | | 418 | | | | | 419 | | | | | 420 | | | | | 421 | | if ( marker > 0 ) | | | 422 | | { | | | 423 | | tsec = marker; | | | 424 | | | | | 425 | | TRC_PVMCKERR( pvm_upkint( &tusec, 1, 1 ),
| | | 426 | | "Event Parse Error", return( ecnt ) ); | | | 427 | | | | | 428 | | TRC_PVMCKERR( pvm_upkint( &tid, 1, 1 ),
| | | 429 | | "Event Parse Error", return( ecnt ) ); | | | 430 | | | | | 431 | | TRC_PVMCKERR( pvm_upkint( &eid, 1, 1 ),
| | | | | ... | | | 433 | | | | | 434 | | ecnt += trc_store_old_trace_event( ID, tsec, tusec, tid, eid ); | | | 435 | | | | | 436 | | return( ecnt ); | | | 437 | | } | | | 438 | | | | | 439 | | | | | 440 | | | | | 441 | | | | | 442 | | | | | 443 | | TT = trc_get_tevtask_tid( ID, src ); | | | 444 | | | | | 445 | | pvmd_tid = pvm_tidtohost( src ); | | | 446 | | | | | 447 | | if ( !pvmd_tid ) | | | 448 | | pvmd_tid = pvm_tidtohost( TRC_TID ); | | | 449 | | | | | 450 | | H = trc_get_host_tid( pvmd_tid ); | | | 451 | | | | | 452 | | | | | 453 | | | | | 454 | | omit = ( ID->trace_out == NULL
| | | 455 | | || ( TT != NULL && TRC_TASK_OMIT( TT ) ) )
| | | 456 | | ? TRC_TRUE : TRC_FALSE;
| | | 457 | | | | | 458 | | | | | 459 | | | | | 460 | | nest = 0; | | | 461 | | | | | 462 | | done = 0; | | | 463 | | | | | 464 | | do | | | 465 | | { | | | 466 | | switch ( marker ) | | | 467 | | { | | | 468 | | case TEV_MARK_EVENT_BUFFER:
| | | 469 | | { | | | 470 | | nest++; | | | 471 | | | | | 472 | | break; | | | 473 | | } | | | 474 | | | | | 475 | | case TEV_MARK_EVENT_BUFFER_END:
| | | 476 | | { | | | | | ... | | | 627 | | | | | 628 | | if ( !omit ) | | | 629 | | ecnt++; | | | 630 | | | | | 631 | | if ( !nest ) | | | 632 | | done++; | | | 633 | | | | | 634 | | break; | | | 635 | | } | | | 636 | | | | | 637 | | case TEV_MARK_USER_EVENT_RECORD:
| | | 638 | | { | | | 639 | | TD = trc_create_tevdesc(); | | | 640 | | | | | 641 | | TD->refcount = 1; | | | 642 | | | | | 643 | | TRC_PVMCKERR( pvm_upkint( &eid, 1, 1 ),
| | | 644 | | "Event Descriptor ID", return( ecnt ) ); | | | 645 | | | | | 646 | | TD->eid = eid & ~( TEV_EVENT_ENTRY | TEV_EVENT_EXIT );
| | | 647 | | | | | 648 | | if ( eid & TEV_EVENT_ENTRY )
| | | 649 | | TD->entry_exit = TRC_ENTRY_TEV;
| | | 650 | | | | | 651 | | else if ( eid & TEV_EVENT_EXIT )
| | | 652 | | TD->entry_exit = TRC_EXIT_TEV;
| | | 653 | | | | | 654 | | else | | | 655 | | TD->entry_exit = TRC_IGNORE_TEV;
| | | 656 | | | | | 657 | | TRC_PVMCKERR( pvm_upkstr( tmp ),
|
| | 338 | | | | | | | | pvmgetdsig() | | | 339 | | | | | | | | { | | | 340 | | | | | | | | static int myfmt = -1; | | | 341 | | | | | | | | | | | 342 | | | | | | | | short i0; | | | 343 | | | | | | | | int i1; | | | 344 | | | | | | | | long i2; | | | 345 | | | | | | | | float f0; | | | 346 | | | | | | | | double f1; | | | 347 | | | | | | | | int i, j; | | | 348 | | | | | | | | int fmt; | | | 349 | | | | | | | | | | | 350 | | | | | | | | if (myfmt != -1) | | | 351 | | | | | | | | return myfmt; | | | 352 | | | | | | | | | | | 353 | | | | | | | | fmt = 0; | | | 354 | | | | | | | | | | | 355 | | | | | | | | i0 = 0; | | | 356 | | | | | | | | for (i = 0; i < sizeof(i0); i++) | | | 357 | | | | | | | | i0 += (short)i << (i * 8); | | | 358 | | | | | | | | fmt |= ibol(0, (char *) &i0, (int) sizeof(i0)); | | | 359 | | | | | | | | | | | 360 | | | | | | | | i1 = 0; | | | 361 | | | | | | | | for (i = 0; i < sizeof(i1); i++) | | | 362 | | | | | | | | i1 += (int)i << (i * 8); | | | 363 | | | | | | | | fmt |= ibol(5, (char *) &i1, (int) sizeof(i1)); | | | 364 | | | | | | | | | | | 365 | | | | | | | | i2 = 0; | | | 366 | | | | | | | | for (i = 0; i < sizeof(i2); i++) | | | 367 | | | | | | | | i2 += (long)i << (i * 8); | | | 368 | | | | | | | | fmt |= ibol(10, (char *) &i2, (int) sizeof(i2)); | | | 369 | | | | | | | | | | | 370 | | | | | | | | f0 = 1.0; | | | 371 | | | | | | | | fmt |= fbol(15, (unsigned char *) &f0, (int) sizeof(f0)); | | | 372 | | | | | | | | | | | 373 | | | | | | | | f1 = 1.0; | | | 374 | | | | | | | | fmt |= fbol(21, (unsigned char *) &f1, (int) sizeof(f1)); | | | 375 | | | | | | | | | | | 376 | | | | | | | | myfmt = fmt; | | | 377 | | | | | | | | return fmt; | | tmp is uninitialized | 378 | | | | | | | | } |
| | 3047 | | | | | | | | | 3048 | | | | | | TEV_EXCLUSIVE;
| | | 3049 | | | | | | | | | 3050 | | | | | | authfn[0] = 0; | | | 3051 | | | | | | | | | 3052 | | | | | | #ifndef WIN32 | | | 3053 | | | | | | pvmmyupid = getpid(); | | | 3054 | | | | | | #else | | | 3055 | | | | | | pvmmyupid = _getpid(); | | | 3056 | | | | | | #endif | | | 3057 | | | | | | | | | 3058 | | | | | | | | | 3059 | | | | | | | | | 3060 | | | | | | | | | 3061 | | | | | | | | | 3062 | | | | | | | | | 3063 | | | | | | if (p = getenv("PVMEPID")) | | | 3064 | | | | | | cookie = atoi(p); | | | 3065 | | | | | | else | | | 3066 | | | | | | cookie = 0; | | | 3067 | | | | | | | | | 3068 | | | | | | | | | 3069 | | | | | | | | | 3070 | | | | | | #ifndef WIN32 | | | 3071 | | | | | | if ((pvm_useruid = geteuid()) == -1) { | | | 3072 | | | | | | pvmlogerror("can't getuid()\n"); | | | 3073 | | | | | | cc = PvmSysErr;
| | | 3074 | | | | | | goto bail2; | | | 3075 | | | | | | } | | | 3076 | | | | | | pvmchkuid( pvm_useruid ); | | | 3077 | | | | | | #else | | | 3078 | | | | | | if (!username) | | | 3079 | | | | | | username = MyGetUserName(); | | | 3080 | | | | | | #endif | | | 3081 | | | | | | | | | 3082 | | | | | | if (p = getenv("PVMTASKDEBUG")) { | | | 3083 | | | | | | pvmdebmask = pvmstrtoi(p); | | | 3084 | | | | | | if (pvmdebmask) { | | | 3085 | | | | | | pvmlogprintf("task debug mask is 0x%x (%s)\n", | | | 3086 | | | | | | pvmdebmask, debug_flags(pvmdebmask)); | | | 3087 | | | | | | } | | | 3088 | | | | | | } | | | 3089 | | | | | | | | | 3090 | | | | | | #ifndef IMA_MPP | | | 3091 | | | | | | if (cc = mksocs()) | | | 3092 | | | | | | goto bail2; | | | 3093 | | | | | | #endif | | | 3094 | | | | | | | | | 3095 | | | | | | | | | 3096 | | | | | | | | | 3097 | | | | | | | | | 3098 | | | | | | | | | 3099 | | | | | | pvmrxlist = pmsg_new(1); | | | 3100 | | | | | | BZERO((char*)pvmrxlist, sizeof(struct pmsg));
| | | 3101 | | | | | | pvmrxlist->m_link = pvmrxlist->m_rlink = pvmrxlist; | | | 3102 | | | | | | | | | 3103 | | | | | | ttlist = TALLOC(1, struct ttpcb, "tpcb");
| | | 3104 | | | | | | BZERO((char*)ttlist, sizeof(struct ttpcb));
| | | 3105 | | | | | | ttlist->tt_link = ttlist->tt_rlink = ttlist; | | | 3106 | | | | | | | | | 3107 | | | | | | sbf = pvm_setsbuf(pvm_mkbuf(PvmDataFoo));
| | | 3108 | | | | | | rbf = pvm_setrbuf(0); | | | 3109 | | | | | | | | | 3110 | | | | | | | | | 3111 | | | | | | | | | 3112 | | | | | | | | | 3113 | | | | | | | | | 3114 | | | | | | #ifndef IMA_MPP | | | 3115 | | | | | | #ifndef NOPROT | | | 3116 | | | | | | (void)PVMTMPNAMFUN(authfn);
| | | 3117 | | | | | | #ifdef IMA_OS2 | | | 3118 | | | | | | if ((authfd = open(authfn, O_RDWR|O_CREAT|O_EXCL|O_TRUNC, 0600)) == -1) | | | 3119 | | | | | | #else | | | 3120 | | | | | | if ((authfd = open(authfn, O_RDONLY|O_CREAT|O_EXCL|O_TRUNC, 0600)) == -1)
| | | 3121 | | | | | | #endif | | | 3122 | | | | | | { | | | 3123 | | | | | | pvmlogperror(authfn); | | | 3124 | | | | | | pvmlogerror("pvmbeatask() can't creat t-auth file\n"); | | | 3125 | | | | | | cc = PvmSysErr;
| | | 3126 | | | | | | goto bail2; | | | 3127 | | | | | | } | | | 3128 | | | | | | #endif | | | 3129 | | | | | | | | | 3130 | | | | | | | | | 3131 | | | | | | | | | 3132 | | | | | | | | | 3133 | | | | | | | | | 3134 | | | | | | mxfersingle = 1; | | | 3135 | | | | | | prver = TDPROTOCOL;
| | | 3136 | | | | | | pvm_pkint(&prver, 1, 1); | | | 3137 | | | | | | pvm_pkstr(authfn); | | | 3138 | | | | | | if ((cc = msendrecv(TIDPVMD, TM_CONNECT, SYSCTX_TM)) <= 0)
| | | 3139 | | | | | | goto bail; | | | 3140 | | | | | | pvm_upkint(&prver, 1, 1); | | | 3141 | | | | | | if (prver != TDPROTOCOL) {
| | | 3142 | | | | | | pvmlogprintf("pvmbeatask() t-d protocol mismatch (%d/%d)\n", | | | 3143 | | | | | | TDPROTOCOL, prver);
| | | 3144 | | | | | | cc = PvmSysErr;
| | | 3145 | | | | | | goto bail; | | | 3146 | | | | | | } | | | 3147 | | | | | | pvm_upkint(&cc, 1, 1); | | | 3148 | | | | | | if (!cc) { | | | 3149 | | | | | | pvmlogerror("pvmbeatask() pvmd refuses connection\n"); | | | | | | | | | ... | | | 3408 | | | | | | pvm_setrbuf(rbf); | | | 3409 | | | | | | } | | | 3410 | | | | | | | | | 3411 | | | | | | tev_init(); | | | 3412 | | | | | | | | | 3413 | | | | | | if (TEV_AMEXCL) {
| | | 3414 | | | | | | TEV_ENDEXCL;
| | | 3415 | | | | | | } | | | 3416 | | | | | | return 0; | | | 3417 | | | | | | | | | 3418 | | | | | | bail: | | | 3419 | | | | | | if (pvm_getrbuf() > 0) | | | 3420 | | | | | | pvm_freebuf(pvm_getrbuf()); | | | 3421 | | | | | | if (pvm_getsbuf() > 0) | | | 3422 | | | | | | pvm_freebuf(pvm_getsbuf()); | | | 3423 | | | | | | pvm_setrbuf(rbf); | | | 3424 | | | | | | pvm_setsbuf(sbf); | | | 3425 | | | | | | | | | 3426 | | | | | | #ifndef IMA_MPP | | | 3427 | | | | | | if (authfd != -1) | | | 3428 | | | | | | (void)close(authfd); | | | 3429 | | | | | | if (authfn[0]) | | | 3430 | | | | | | (void)unlink(authfn); | | | 3431 | | | | | | unmksocs(); | | | 3432 | | | | | | #endif | | | 3433 | | | | | | | | | 3434 | | | | | | bail2: | | | 3435 | | | | | | if (TEV_AMEXCL) {
| | | 3436 | | | | | | TEV_ENDEXCL;
| | | 3437 | | | | | | } | | | 3438 | | | | | | return cc; | | tmp is uninitialized | 3439 | | | | | | } |
| | 1690 | | | | ad = (long)cp; | | | 1691 | | | | TEV_PACK_LONG( TEV_DID_PDA, TEV_DATA_SCALAR, &ad, 1, 1 );
| | | 1692 | | | | TEV_FIN;
| | | 1693 | | | | } | | | 1694 | | | | } | | | 1695 | | | | | | | 1696 | | | | if (!pvmrbuf) | | | 1697 | | | | cc = PvmNoBuf;
| | | 1698 | | | | else { | | | 1699 | | | | if (!(cc = (pvmrbuf->m_codef->dec_int) | | | 1700 | | | | (pvmrbuf, (void*)&l, 1, 1, sizeof(int)))) | | | 1701 | | | | cc = (pvmrbuf->m_codef->dec_byte) | | | 1702 | | | | (pvmrbuf, (void*)cp, l, 1, 1); | | | 1703 | | | | } | | | 1704 | | | | | | | 1705 | | | | if (TEV_AMEXCL) {
| | | 1706 | | | | if (TEV_DO_TRACE(TEV_UPKSTR,TEV_EVENT_EXIT)) {
| | | 1707 | | | | TEV_PACK_INT( TEV_DID_CC, TEV_DATA_SCALAR, &cc, 1, 1 );
| | | 1708 | | | | TEV_FIN;
| | | 1709 | | | | } | | | 1710 | | | | TEV_ENDEXCL;
| | | 1711 | | | | } | | | 1712 | | | | return (cc < 0 ? lpvmerr("pvm_upkstr", cc) : PvmOk);
| | tmp is uninitialized | 1713 | | | | } |
|