| true | 269 | | trc_get_msg( ID, len, msgtag, src, others ) | | | 270 | | TRC_ID ID; | | | 271 | | int *len; | | | 272 | | int *msgtag; | | | 273 | | int *src; | | | 274 | | int *others; | | | 275 | | { | | | 276 | | int mid; | | | 277 | | int tag; | | | 278 | | | | | 279 | | | | | 280 | | | | | 281 | | if ( others != NULL )
| | | 282 | | *others = TRC_FALSE;
| | | 283 | | | | | 284 | | | | | 285 | | | | | 286 | | if ( (mid = pvm_nrecv( -1, TRC_HOST_ADD_NOTIFY_CODE )) > 0 ) | | | 287 | | { | | | 288 | | if ( pvm_bufinfo( mid, len, msgtag, src ) < 0 ) | | | 289 | | { | | | 290 | | pvm_perror( "Error Checking Message Buffer" ); | | | 291 | | | | | 292 | | return( -1 ); | | | 293 | | } | | | 294 | | | | | 295 | | return( mid ); | | | 296 | | } | | | 297 | | | | | 298 | | else if ( mid < 0 ) | | | 299 | | { | | | 300 | | pvm_perror( "Error Checking Host Add Notify Message" ); | | | 301 | | | | | 302 | | return( -1 ); | | | 303 | | } | | | 304 | | | | | 305 | | | | | 306 | | | | | 307 | | if ( (mid = pvm_nrecv( -1, TRC_HOST_DEL_NOTIFY_CODE )) > 0 ) | | | 308 | | { | | | 309 | | if ( pvm_bufinfo( mid, len, msgtag, src ) < 0 ) | | | 310 | | { | | | 311 | | pvm_perror( "Error Checking Message Buffer" ); | | | 312 | | | | | 313 | | return( -1 ); | | | 314 | | } | | | 315 | | | | | 316 | | return( mid ); | | | 317 | | } | | | 318 | | | | | 319 | | else if ( mid < 0 ) | | | 320 | | { | | | 321 | | pvm_perror( "Error Checking Host Delete Notify Message" ); | | | 322 | | | | | 323 | | return( -1 ); | | | 324 | | } | | | 325 | | | | | 326 | | | | | 327 | | | | | 328 | | if ( (mid = pvm_probe( -1, -1 )) > 0 ) | | | 329 | | { |
| | 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; | | tag is uninitialized | 378 | | | | | | | | } |
| | 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; | | tag is uninitialized | 3439 | | | | | | } |
| | 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) | | | 785 | | | | lpvmerr("pvm_bufinfo", cc); | | | 786 | | | | return cc; | | tag is uninitialized | 787 | | | | } |
|