| | 2593 | | tm_setopt(tp, mp) |
| | 2594 | | struct task *tp; |
| | 2595 | | struct pmsg *mp; |
| | 2596 | | { |
| | 2597 | | int what; |
| | 2598 | | char *val; |
| | 2599 | | int x; |
| | 2600 | | |
| | 2601 | | while (!upkint(mp, &what) && !upkstralloc(mp, &val)) { |
| | 2602 | | switch (what) { |
| | 2603 | | |
| | 2604 | | case TS_OUTTID:
|
| | 2605 | | x = pvmxtoi(val); |
| | 2606 | | change_output(tp, x, tp->t_outctx, tp->t_outtag); |
| | 2607 | | break; |
| | 2608 | | |
| | 2609 | | case TS_OUTCTX:
|
| | 2610 | | x = pvmxtoi(val); |
| | 2611 | | change_output(tp, tp->t_outtid, x, tp->t_outtag); |
| | 2612 | | break; |
| | 2613 | | |
| | 2614 | | case TS_OUTTAG:
|
| | 2615 | | x = pvmxtoi(val); |
| | 2616 | | change_output(tp, tp->t_outtid, tp->t_outctx, x); |
| | 2617 | | break; |
| | 2618 | | |
| | 2619 | | case TS_TRCTID:
|
| | 2620 | | x = pvmxtoi(val); |
| | 2621 | | change_trace(tp, x, tp->t_trcctx, tp->t_trctag); |
| | 2622 | | break; |
| | 2623 | | |
| | 2624 | | case TS_TRCCTX:
|
| | 2625 | | x = pvmxtoi(val); |
| | 2626 | | change_trace(tp, tp->t_trctid, x, tp->t_trctag); |
| | 2627 | | break; |
| | 2628 | | |
| | 2629 | | case TS_TRCTAG:
|
| | 2630 | | x = pvmxtoi(val); |
| | 2631 | | change_trace(tp, tp->t_trctid, tp->t_trcctx, x); |
| | 2632 | | break; |
| | 2633 | | |
| | 2634 | | default: |
| | 2635 | | pvmlogprintf("tm_setopt() ? option %d val <%s>\n", what, val); |
| | 2636 | | break; |
| | 2637 | | } |
| | 2638 | | if (val) |
| | 2639 | | PVM_FREE(val);
|
| | 2640 | | } |