| true | 654 | | checkmsgs() | | | 655 | | { | | | 656 | | int cc; | | | 657 | | int len, cod, src; | | | 658 | | int n; | | | 659 | | struct job *jp; | | | 660 | | int *dtids; | | | 661 | | int i, j; | | | 662 | | int more, tmp; | | | 663 | | struct job *jpnext; | | | 664 | | | | | 665 | | | | | 666 | | | | | 667 | | | | | 668 | | | | | 669 | | | | | 670 | | while ((cc = pvm_nrecv(-1, HostsAddedTag)) > 0) {
| | | 671 | | pvm_upkint(&n, 1, 1); | | | 672 | | dtids = TALLOC(n, int, "");
| | | 673 | | pvm_upkint(dtids, n, 1); | | | 674 | | printf("\nConsole: %d new host%s added\n", n, (n == 1 ? "" : "s")); | | | 675 | | pvm_freebuf(cc); | | | 676 | | if (!pvm_config(&nhosts, &narchs, &hostlist)) { | | | 677 | | fputs(" HOST DTID ARCH SPEED\n", | | | 678 | | stdout); | | | 679 | | for (j = n; j-- > 0; ) | | | 680 | | for (i = nhosts; i-- > 0; ) { | | | | | ... | | | 686 | | hostlist[i].hi_speed); | | | 687 | | break; | | | 688 | | } | | | 689 | | } | | | 690 | | } | | | 691 | | MY_FREE(dtids);
| | | 692 | | } | | | 693 | | | | | 694 | | | | | 695 | | | | | 696 | | jp = joblist->j_link; | | | 697 | | | | | 698 | | more = 0; | | | 699 | | | | | 700 | | while (jp != joblist) { | | | 701 | | | | | 702 | | jpnext = jp->j_link; | | | 703 | | | | | 704 | | | | | 705 | | if (jp->j_flag & JOB_TRACE) {
| | | 706 | | if (trc_recv_messages(jp->j_trcid, 10, &tmp) > 0 ) { | | | 707 | | fflush(jp->j_trcid->trace_out); | | | 708 | | } | | | 709 | | if ( tmp ) | | | 710 | | more++; | | | 711 | | if ( jp->j_trcid->complete ) { | | | 712 | | printf("[%d] finished\n", jp->j_jid - joboffset); | | | 713 | | job_free(jp); | | | 714 | | } | | | 715 | | } | | | 716 | | | | | 717 | | | | | 718 | | else { | | | 719 | | while ((cc = pvm_nrecv(-1, jp->j_jid)) > 0) { |
| | 752 | | | | cc = PvmOk;
| | | 753 | | | | if (len) { | | | 754 | | | | if (mp->m_flag & MM_PACK)
| | | 755 | | | | pmsg_setlen(mp); | | | 756 | | | | *len = mp->m_len; | | | 757 | | | | } | | | 758 | | | | if (code) | | | 759 | | | | *code = mp->m_tag; | | | 760 | | | | if (tid) | | | 761 | | | | *tid = mp->m_src; | | | 762 | | | | } else | | | 763 | | | | cc = PvmNoSuchBuf;
| | | 764 | | | | | | | 765 | | | | if (TEV_AMEXCL) {
| | | 766 | | | | if (TEV_DO_TRACE(TEV_BUFINFO,TEV_EVENT_EXIT)) {
| | | 767 | | | | int ln, tg, sc; | | | 768 | | | | TEV_PACK_INT( TEV_DID_CC, TEV_DATA_SCALAR, &cc, 1, 1 );
| | | 769 | | | | if (!cc) { | | | 770 | | | | ln = mp->m_len; | | | 771 | | | | tg = mp->m_tag; | | | 772 | | | | sc = mp->m_src; | | | 773 | | | | } | | | 774 | | | | else | | | 775 | | | | ln = tg = sc = cc; | | | 776 | | | | TEV_PACK_INT( TEV_DID_INB, TEV_DATA_SCALAR, &ln, 1, 1 );
| | | 777 | | | | TEV_PACK_INT( TEV_DID_IMC, TEV_DATA_SCALAR, &tg, 1, 1 );
| | | 778 | | | | TEV_PACK_INT( TEV_DID_IST, TEV_DATA_SCALAR, &sc, 1, 1 );
| | | 779 | | | | TEV_FIN;
| | | 780 | | | | } | | | 781 | | | | TEV_ENDEXCL;
| | | 782 | | | | } | | | 783 | | | | | | | 784 | | | | if (cc < 0) |
|