pgsql: Move initialization of the Port struct to the child process

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Move initialization of the Port struct to the child process
Дата
Msg-id E1rk0ZO-003Pk0-Rz@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Move initialization of the Port struct to the child process

In postmaster, use a more lightweight ClientSocket struct that
encapsulates just the socket itself and the remote endpoint's address
that you get from accept() call. ClientSocket is passed to the child
process, which initializes the bigger Port struct. This makes it more
clear what information postmaster initializes, and what is left to the
child process.

Rename the StreamServerPort and StreamConnection functions to make it
more clear what they do. Remove StreamClose, replacing it with plain
closesocket() calls.

Reviewed-by: Tristan Partin, Andres Freund
Discussion: https://www.postgresql.org/message-id/7a59b073-5b5b-151e-7ed3-8b01ff7ce9ef@iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/4945e4ed4a72c3ff41560ccef722c3d70ae07dbb

Modified Files
--------------
src/backend/libpq/pqcomm.c          |  65 ++++------
src/backend/postmaster/postmaster.c | 229 +++++++++++++++---------------------
src/backend/tcop/postgres.c         |   5 +-
src/include/libpq/libpq-be.h        |  20 +++-
src/include/libpq/libpq.h           |   7 +-
src/tools/pgindent/typedefs.list    |   1 +
6 files changed, 142 insertions(+), 185 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Disconnect if socket cannot be put into non-blocking mode
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix copying SockAddr struct