mirror of
https://github.com/postgres/postgres.git
synced 2026-03-09 09:40:40 -04:00
aio: Remove obsolete IO worker ID references.
In an ancient ancestor of this code, the postmaster assigned IDs to IO workers. Now it tracks them in an unordered array and doesn't know their IDs, so it might be confusing to readers that it still referred to their indexes as IDs. No change in behavior, just variable name and error message cleanup. Back-patch to 18. Discussion: https://postgr.es/m/CA%2BhUKG%2BwbaZZ9Nwc_bTopm4f-7vDmCwLk80uKDHj9mq%2BUp0E%2Bg%40mail.gmail.com
This commit is contained in:
parent
b2afb06763
commit
b4c19da93a
1 changed files with 14 additions and 14 deletions
|
|
@ -4337,15 +4337,15 @@ maybe_start_bgworkers(void)
|
|||
static bool
|
||||
maybe_reap_io_worker(int pid)
|
||||
{
|
||||
for (int id = 0; id < MAX_IO_WORKERS; ++id)
|
||||
for (int i = 0; i < MAX_IO_WORKERS; ++i)
|
||||
{
|
||||
if (io_worker_children[id] &&
|
||||
io_worker_children[id]->pid == pid)
|
||||
if (io_worker_children[i] &&
|
||||
io_worker_children[i]->pid == pid)
|
||||
{
|
||||
ReleasePostmasterChildSlot(io_worker_children[id]);
|
||||
ReleasePostmasterChildSlot(io_worker_children[i]);
|
||||
|
||||
--io_worker_count;
|
||||
io_worker_children[id] = NULL;
|
||||
io_worker_children[i] = NULL;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -4389,22 +4389,22 @@ maybe_adjust_io_workers(void)
|
|||
while (io_worker_count < io_workers)
|
||||
{
|
||||
PMChild *child;
|
||||
int id;
|
||||
int i;
|
||||
|
||||
/* find unused entry in io_worker_children array */
|
||||
for (id = 0; id < MAX_IO_WORKERS; ++id)
|
||||
for (i = 0; i < MAX_IO_WORKERS; ++i)
|
||||
{
|
||||
if (io_worker_children[id] == NULL)
|
||||
if (io_worker_children[i] == NULL)
|
||||
break;
|
||||
}
|
||||
if (id == MAX_IO_WORKERS)
|
||||
elog(ERROR, "could not find a free IO worker ID");
|
||||
if (i == MAX_IO_WORKERS)
|
||||
elog(ERROR, "could not find a free IO worker slot");
|
||||
|
||||
/* Try to launch one. */
|
||||
child = StartChildProcess(B_IO_WORKER);
|
||||
if (child != NULL)
|
||||
{
|
||||
io_worker_children[id] = child;
|
||||
io_worker_children[i] = child;
|
||||
++io_worker_count;
|
||||
}
|
||||
else
|
||||
|
|
@ -4415,11 +4415,11 @@ maybe_adjust_io_workers(void)
|
|||
if (io_worker_count > io_workers)
|
||||
{
|
||||
/* ask the IO worker in the highest slot to exit */
|
||||
for (int id = MAX_IO_WORKERS - 1; id >= 0; --id)
|
||||
for (int i = MAX_IO_WORKERS - 1; i >= 0; --i)
|
||||
{
|
||||
if (io_worker_children[id] != NULL)
|
||||
if (io_worker_children[i] != NULL)
|
||||
{
|
||||
kill(io_worker_children[id]->pid, SIGUSR2);
|
||||
kill(io_worker_children[i]->pid, SIGUSR2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue