| | 274 | | | | upkstralloc(mp, ss) | | | 275 | | | | struct pmsg *mp; | | | 276 | | | | char **ss; | | | 277 | | | | { | | | 278 | | | | int cc; | | | 279 | | | | int l; | | | 280 | | | | | | | 281 | | | | if (!(cc = (mp->m_codef->dec_int) (mp, (void*)&l, 1, 1, sizeof(int)))) { | | | 282 | | | | if (l <= 0) | | | 283 | | | | cc = PvmNoData;
| | | 284 | | | | else { | | | 285 | | | | *ss = TALLOC(l, char, "ustr");
| | | 286 | | | | if ((cc = (mp->m_codef->dec_byte) (mp, (void*)*ss, l, 1, 1)) < 0) { | | | 287 | | | | PVM_FREE(*ss);
| | | 288 | | | | *ss = 0; | | | 289 | | | | } | | | 290 | | | | } | | | 291 | | | | } | | | 292 | | | | return cc; | | buf <= 4095 | 293 | | | | } |
| | 2086 | | pvmlogerror("startack() bad message format\n"); | | | 2087 | | pkint(wp->wa_mesg, PvmDSysErr);
| | | 2088 | | sendmessage(wp->wa_mesg); | | | 2089 | | wp->wa_mesg = 0; | | | 2090 | | wait_delete(wp); | | | 2091 | | busyadding = 0; | | | 2092 | | return 0; | | | 2093 | | } | | | 2094 | | for (i = count; i-- > 0 && wxp->w_hosts[i]->hd_hostpart != t; ) ; | | | 2095 | | if (i < 0) { | | | 2096 | | pvmlogprintf("startack() what? some random tid %x\n", t); | | | 2097 | | pkint(wp->wa_mesg, PvmDSysErr);
| | | 2098 | | sendmessage(wp->wa_mesg); | | | 2099 | | wp->wa_mesg = 0; | | | 2100 | | wait_delete(wp); | | | 2101 | | busyadding = 0; | | buf <= 4095 | 2102 | | PVM_FREE(buf);
| | | 2103 | | return 0; | | | 2104 | | } | | | 2105 | | hp = wxp->w_hosts[i]; | | | 2106 | | ac = sizeof(av)/sizeof(av[0]); | | | 2107 | | if (crunchzap(buf, &ac, av) || ac != 5) { | | | 2108 | | pvmlogprintf("startack() host %s expected version, got \"%s\"\n", | | | 2109 | | hp->hd_name, buf); | | | 2110 | | if (!(hp->hd_err = errnamecode(buf))) | | | 2111 | | hp->hd_err = PvmCantStart;
| | | 2112 | | PVM_FREE(buf);
| | | 2113 | | continue; | | | 2114 | | } | | | 2115 | | | | | 2116 | | ver = atoi(av[0]); | | | 2117 | | if (ver != DDPROTOCOL) {
| | | 2118 | | pvmlogprintf( | | | 2119 | | "slave_exec() host %s d-d protocol mismatch (%d/%d)\n", | | | 2120 | | hp->hd_name, ver, DDPROTOCOL);
| | | 2121 | | hp->hd_err = PvmBadVersion;
| | | 2122 | | continue; | | | 2123 | | } | | | 2124 | | | | | 2125 | | hp->hd_arch = STRALLOC(av[1]);
| | | 2126 | | hex_inadport(av[2], &hp->hd_sad); | | | 2127 | | hp->hd_mtu = atoi(av[3]); | | | 2128 | | hp->hd_dsig = atoi(av[4]); | | | 2129 | | | | | 2130 | | PVM_FREE(buf);
|
|