mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
Revert "dirmngr: hkp: Avoid potential race condition when some hosts die."
This reverts commit 04b56eff118ec34432c368b87e724bce1ac683f9. -- Now the access to hosttable is serialized correctly.
This commit is contained in:
parent
995aded587
commit
69bab1cba0
@ -224,26 +224,29 @@ host_in_pool_p (hostinfo_t hi, int tblidx)
|
||||
static int
|
||||
select_random_host (hostinfo_t hi)
|
||||
{
|
||||
int *tbl = NULL;
|
||||
size_t tblsize = 0;
|
||||
int *tbl;
|
||||
size_t tblsize;
|
||||
int pidx, idx;
|
||||
|
||||
/* We create a new table so that we randomly select only from
|
||||
currently alive hosts. */
|
||||
for (idx = 0;
|
||||
for (idx = 0, tblsize = 0;
|
||||
idx < hi->pool_len && (pidx = hi->pool[idx]) != -1;
|
||||
idx++)
|
||||
if (hosttable[pidx] && !hosttable[pidx]->dead)
|
||||
{
|
||||
tblsize++;
|
||||
tbl = xtryrealloc(tbl, tblsize * sizeof *tbl);
|
||||
if (!tbl)
|
||||
return -1; /* memory allocation failed! */
|
||||
tbl[tblsize-1] = pidx;
|
||||
}
|
||||
tblsize++;
|
||||
if (!tblsize)
|
||||
return -1; /* No hosts. */
|
||||
|
||||
tbl = xtrymalloc (tblsize * sizeof *tbl);
|
||||
if (!tbl)
|
||||
return -1;
|
||||
for (idx = 0, tblsize = 0;
|
||||
idx < hi->pool_len && (pidx = hi->pool[idx]) != -1;
|
||||
idx++)
|
||||
if (hosttable[pidx] && !hosttable[pidx]->dead)
|
||||
tbl[tblsize++] = pidx;
|
||||
|
||||
if (tblsize == 1) /* Save a get_uint_nonce. */
|
||||
pidx = tbl[0];
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user