| 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 | | { | | | | | ... | | | 527 | | did_done++; | | | 528 | | } | | | 529 | | while ( !did_done ); | | | 530 | | | | | 531 | | if ( !nest ) | | | 532 | | done++; | | | 533 | | | | | 534 | | break; | | | 535 | | } | | | 536 | | | | | 537 | | case TEV_MARK_EVENT_DESC:
| | | 538 | | { | | | 539 | | TD = trc_create_tevdesc(); | | | 540 | | | | | 541 | | TD->refcount = 1; | | | 542 | | | | | 543 | | TRC_PVMCKERR( pvm_upkint( &eid, 1, 1 ),
| | | 544 | | "Event Descriptor ID", return( ecnt ) ); | | | 545 | | | | | 546 | | TD->eid = eid & ~( TEV_EVENT_ENTRY | TEV_EVENT_EXIT );
| | | 547 | | | | | 548 | | if ( eid & TEV_EVENT_ENTRY )
| | | 549 | | TD->entry_exit = TRC_ENTRY_TEV;
| | | 550 | | | | | 551 | | else if ( eid & TEV_EVENT_EXIT )
| | | 552 | | TD->entry_exit = TRC_EXIT_TEV;
| | | 553 | | | | | 554 | | else | | | 555 | | TD->entry_exit = TRC_IGNORE_TEV;
| | | 556 | | | | | 557 | | TRC_PVMCKERR( pvm_upkstr( tmp ),
|
| | 1680 | | | | pvm_upkstr(cp) | | | 1681 | | | | char *cp; | | | 1682 | | | | { | | | 1683 | | | | int l; | | | 1684 | | | | int cc; | | | 1685 | | | | long ad; | | | 1686 | | | | TEV_DECLS
| | | 1687 | | | | | | | 1688 | | | | if (TEV_EXCLUSIVE) {
| | | 1689 | | | | if (TEV_DO_TRACE(TEV_UPKSTR,TEV_EVENT_ENTRY)) {
| | | 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 | | | | } |
|