Hi, Nirbhay!
On Jun 24, Nirbhay Choubey wrote:
> revision-id: aff560696cac5e081d19f4460ccd9c906ddc9d84
> parent(s): 70714d3597ec9ffa742cc9e173d4ad32f294cc51
> committer: Nirbhay Choubey
> branch nick: 10.0-galera.b7631
> timestamp: 2015-06-24 11:58:11 -0400
> message:
>
> Add close-on-exec flag to open(), socket(), accept() & fopen().
>
> @@ -1026,7 +1026,8 @@ static inline void inline_mysql_socket_register(
> (&state, socket_listen.m_psi, PSI_SOCKET_CONNECT, (size_t)0, src_file, src_line);
>
> /* Instrumented code */
> - socket_accept.fd= accept(socket_listen.fd, addr, &addr_length);
> + socket_accept.fd= accept4(socket_listen.fd, addr, &addr_length,
> + SOCK_CLOEXEC);
Note that, according to the manpage, "accept4() is a nonstandard Linux
extension".
It needs a configure-time check and ifdef. Alternatively, don't use it
at all, do fcntl(FD_CLOEXEC) instead.
> /* Instrumentation end */
> if (locker != NULL)
> @@ -1036,7 +1037,8 @@ static inline void inline_mysql_socket_register(
> #endif
> {
> /* Non instrumented code */
> - socket_accept.fd= accept(socket_listen.fd, addr, &addr_length);
> + socket_accept.fd= accept4(socket_listen.fd, addr, &addr_length,
> + SOCK_CLOEXEC);
> }
Regards,
Sergei