| true | 3354 | | pvm_tickle(narg, argp, nresp, resp) |
| | 3355 | | int narg; |
| | 3356 | | int *argp; |
| | 3357 | | int *nresp; |
| | 3358 | | int *resp; |
| | 3359 | | { |
| | 3360 | | int cc; |
| | 3361 | | int sbf, rbf; |
| | 3362 | | int nres; |
| | 3363 | | TEV_DECLS
|
| | 3364 | | |
| | 3365 | | if (TEV_EXCLUSIVE) {
|
| | 3366 | | if (TEV_DO_TRACE(TEV_TICKLE,TEV_EVENT_ENTRY)) {
|
| | 3367 | | TEV_PACK_INT( TEV_DID_TA, TEV_DATA_ARRAY, argp, narg, 1 );
|
| | 3368 | | TEV_FIN;
|
| | 3369 | | } |
| | 3370 | | } |
| | 3371 | | |
| | 3372 | | if (!(cc = BEATASK)) {
|
| | 3373 | | if (narg < 1 || narg > 10) |
| | 3374 | | cc = PvmBadParam;
|
| | 3375 | | |
| | 3376 | | else { |
| | 3377 | | |
| | 3378 | | sbf = pvm_setsbuf(pvm_mkbuf(PvmDataFoo));
|
| | 3379 | | rbf = pvm_setrbuf(0); |
| | 3380 | | pvm_pkint(&narg, 1, 1); |
| | 3381 | | pvm_pkint(argp, narg, 1); |
| | 3382 | | if ((cc = msendrecv(TIDPVMD, TM_TICKLE, SYSCTX_TM)) > 0) {
|
| | 3383 | | pvm_upkint(&nres, 1, 1); |
| | 3384 | | if (nresp) |
| | 3385 | | *nresp = nres; |
| | 3386 | | if (resp) |
| | 3387 | | pvm_upkint(resp, nres, 1); |
| | 3388 | | pvm_freebuf(pvm_setrbuf(rbf)); |
| | 3389 | | cc = 0; |
| | 3390 | | |
| | 3391 | | } else |
| | 3392 | | pvm_setrbuf(rbf); |
| | 3393 | | pvm_freebuf(pvm_setsbuf(sbf)); |
| | 3394 | | } |
| | 3395 | | } |
| | 3396 | | |
| | 3397 | | if (TEV_AMEXCL) {
|
| | 3398 | | if (TEV_DO_TRACE(TEV_TICKLE,TEV_EVENT_EXIT)) {
|
| | 3399 | | int tevcount; |
| | 3400 | | TEV_PACK_INT( TEV_DID_CC, TEV_DATA_SCALAR, &cc, 1, 1 );
|
| nres is uninitialized | 3401 | | tevcount = ( resp ) ? nres : 0; |