| | 2056 | | startack(wp, mp) | | | 2057 | | struct waitc *wp; | | | 2058 | | struct pmsg *mp; | | | 2059 | | { | | | 2060 | | struct hostd *hp; | | | 2061 | | struct pmsg *mp2; | | | 2062 | | struct waitc *wp2; | | | 2063 | | struct waitc *wp3; | | | 2064 | | int count; | | | 2065 | | int happy; | | | 2066 | | struct waitc_add *wxp; | | | | | ... | | | 2070 | | int i, j; | | | 2071 | | int t; | | | 2072 | | int hh; | | | 2073 | | char *buf; | | | 2074 | | char buf2[256]; | | | 2075 | | | | | 2076 | | | | | 2077 | | | | | 2078 | | | | | 2079 | | | | | 2080 | | wxp = (struct waitc_add *)wp->wa_spec; | | | 2081 | | count = wxp->w_num; | | | 2082 | | upkint(mp, &j); | | | 2083 | | | | | 2084 | | while (j-- > 0) { | | | 2085 | | if (upkuint(mp, &t) || upkstralloc(mp, &buf)) { | | | 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; ) ; | | | | | ... | | | 2127 | | hp->hd_mtu = atoi(av[3]); | | | 2128 | | hp->hd_dsig = atoi(av[4]); | | | 2129 | | | | | 2130 | | PVM_FREE(buf);
| | | 2131 | | } | | | 2132 | | | | | 2133 | | | | | 2134 | | | | | 2135 | | | | | 2136 | | | | | 2137 | | mp2 = wp->wa_mesg; | | | 2138 | | pkint(mp2, count); | | | 2139 | | pkint(mp2, 0); | | | 2140 | | for (i = 0; i < count; i++) { | | | 2141 | | hp = wxp->w_hosts[i]; | | | 2142 | | if (hp->hd_err) { | | | 2143 | | pkint(mp2, hp->hd_err); | | | 2144 | | pkstr(mp2, ""); | | | 2145 | | pkstr(mp2, ""); | | | 2146 | | pkint(mp2, 0); | | | 2147 | | pkint(mp2, 0); | | | 2148 | | | | | 2149 | | } else { | | | 2150 | | pkint(mp2, hp->hd_hostpart); | | | 2151 | | pkstr(mp2, hp->hd_name); | | | 2152 | | pkstr(mp2, hp->hd_arch); | | | 2153 | | pkint(mp2, hp->hd_speed); | | | 2154 | | pkint(mp2, hp->hd_dsig); | | | 2155 | | } | | | 2156 | | } | | | 2157 | | | | | 2158 | | | | | 2159 | | | | | 2160 | | | | | 2161 | | | | | 2162 | | | | | 2163 | | for (j = i = 0; i < count; i++) | | | 2164 | | if (!wxp->w_hosts[i]->hd_err) { | | | 2165 | | hp = wxp->w_hosts[i]; | | | 2166 | | wxp->w_hosts[i] = 0; | | | 2167 | | wxp->w_hosts[j++] = hp; | | | 2168 | | | | | 2169 | | } else { | | | 2170 | | hd_unref(wxp->w_hosts[i]); | | | 2171 | | wxp->w_hosts[i] = 0; | | | 2172 | | } | | | 2173 | | count = j; | | | 2174 | | | | | 2175 | | if (count < 1) { | | | 2176 | | busyadding = 0; | | | 2177 | | sendmessage(wp->wa_mesg); | | | 2178 | | wp->wa_mesg = 0; | | | 2179 | | free_waitc_add(wxp); | | | 2180 | | wait_delete(wp); | | | 2181 | | return 0; | | | 2182 | | } | | | 2183 | | | | | 2184 | | wp2 = wait_new(WT_HTUPD);
| | | 2185 | | wp2->wa_dep = wp->wa_dep; | | | 2186 | | wp2->wa_mesg = wp->wa_mesg; | | | 2187 | | wp->wa_mesg = 0; | | | 2188 | | | | | 2189 | | | | | 2190 | | | | | 2191 | | | | | 2192 | | |
|