Cygwin: fhandler_fifo::delete_client_handler: improve efficiency

Delete a client handler by swapping it with the last one in the list
instead of calling memmove.
This commit is contained in:
Ken Brown 2020-08-26 18:21:20 -04:00
parent 39938ad946
commit d74cb647da
1 changed files with 3 additions and 3 deletions

View File

@ -377,14 +377,14 @@ fhandler_fifo::add_client_handler (bool new_pipe_instance)
return 0;
}
/* Always called with fifo_client_lock in place. */
/* Always called with fifo_client_lock in place. Delete a
client_handler by swapping it with the last one in the list. */
void
fhandler_fifo::delete_client_handler (int i)
{
fc_handler[i].close ();
if (i < --nhandlers)
memmove (fc_handler + i, fc_handler + i + 1,
(nhandlers - i) * sizeof (fc_handler[i]));
fc_handler[i] = fc_handler[nhandlers];
}
/* Delete handlers that we will never read from. Always called with