Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:103764 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 30834 invoked from network); 18 Jan 2019 13:23:29 -0000 Received: from unknown (HELO mail-wr1-f51.google.com) (209.85.221.51) by pb1.pair.com with SMTP; 18 Jan 2019 13:23:29 -0000 Received: by mail-wr1-f51.google.com with SMTP id c14so14328227wrr.0 for ; Fri, 18 Jan 2019 02:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:from:to:references:cc:openpgp:autocrypt:message-id :date:user-agent:mime-version:in-reply-to; bh=5b0MPtBGnsrPUk6jqrlJqIb55LHg847FJiA87DxU71A=; b=MP1q+T1UGumAP7x4tAsLv/8TdXLOjLsqbR8ywqLZsY/GZRyhgjSX0ZEe0ClwAbcBzt SgYZ+sOSqBbyYChE4AW5JafRr056HM8JKWdzwZmrD9CQnVI+LH5CjRIrdOpQRnJZiCuL sK4sCfWYjHVniR6N8clIymlfFQHVUH6gVtjKh0cRptjq4ymaCf2y3UmHfC1HVlxoYQDs aA09jT4zBqbiDKjf6wUKtIb7w8QcRkFDDlDM5kdNd9AyVQCl8g9bq1RmrHi9JLbKzqWp ekE2Dqkx/wcFA0sxyItTR9ApzzU2GApAKqxkn32WwyjD+3QhZ6A3jimUzwcHvBZFMfmO nVAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:from:to:references:cc:openpgp :autocrypt:message-id:date:user-agent:mime-version:in-reply-to; bh=5b0MPtBGnsrPUk6jqrlJqIb55LHg847FJiA87DxU71A=; b=T7s06WF8286on3evKHXfR2XJhgfU07BceSglH0Vgrf/0mlwKbWSpIajUJhALl4xab4 +HVwylbAnqbQRFtwNTh4YEE1hTAuGNUkGN6UNfYxT9hjzo0Vg00Q0vpq+xVxQXKPBBDz NiJz2QZ9GyxSq81a+RDbtYPuyZXJ00aRPe7olNV0S08lT9cZYpG0jkZH55Zd+JXi6XwD w4lqxRaG2GPOYCmsR4sudC5M1nX2sIMIxbiVCqAbUbQsy8HpPIdGJnHU4ESdaOAj3000 ZSYZ7vu8Nao7r7WP4n4v7Xf1zkpd+xNCDm3SeaDR8JX9AzSvamsR/DLhtupsLSXjmfLV Lhjg== X-Gm-Message-State: AJcUukdP9kRSHRLjcGMKD+AUdeK5lbDNPKG2J/uIJVzeaw1nFLDkTzqC 06WX7bw+XUyqmyeSYnkWIGrV9J0d X-Google-Smtp-Source: ALg8bN4BP2XmZicoc776N1qEmzZ/7naZTLX2Y2+mwjOvk9HWYlad0IAENQqga4tVcZyAFXEsmNSLnQ== X-Received: by 2002:adf:f9cb:: with SMTP id w11mr15397677wrr.201.1547805605050; Fri, 18 Jan 2019 02:00:05 -0800 (PST) Received: from [192.168.2.11] (h194106232226.dyn.cm.kabsi.at. [194.106.232.226]) by smtp.googlemail.com with ESMTPSA id y13sm65135447wrn.73.2019.01.18.02.00.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 Jan 2019 02:00:03 -0800 (PST) Sender: Michael Wallner To: internals@lists.php.net References: <861e4190-1cb8-eeb6-740a-45485192034a@gmail.com> <812f29bf-ab37-f696-65af-117087d46413@fedoraproject.org> <0009a5e4-eb90-01dc-3d8b-b39edd2f5164@php.net> Cc: Remi Collet , Jakub Zelenka Openpgp: preference=signencrypt Autocrypt: addr=mike@php.net; prefer-encrypt=mutual; keydata= mQENBFDcYVsBCADZmu3ac2q1H+Tz8S3XrNQGs+TBHRBpEsafPQBn6wpdMdJ/GDeSYxwoItoy jLWmg8cc45SWLYHzU3gkcSgljoivYnwbLbEZnCqE1V//oQYaMIAcQvO6nnGHWcFN6WyRl6wl 3K866fYmwzE+H2JymjIY0YBdV7/oXDRUNrGaF7C7XAjY13sI0Uq8BV/q6J3e0xTQw+VAaf6X 7mQvQjIgNipTe44ozVPEJSfNpUzPn2uV8ancWru6dmtm3fZZkGUcxNhXsVsEX7R1iHNWBuXS qsKmi5KViWbajg6juha/rbQd2b05PxJGH6ctGyMeU9ubJqIoVBpHeGyuGaizcv98686NABEB AAG0JU1pY2hhZWwgV2FsbG5lciAobTZ3NikgPG1pa2VAcGhwLm5ldD6JATcEEwEIACEFAla0 mo8CGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQSA4+FLCkx8dRVAf/a1POvRGQnpIj hB6AplnFUx3GaIUlrTiUkZMyhftfk7Wgr3b+X4UitoVTaBm6Zsd8wPCwL2T5fD1B3QBq6N+G RscCzOq87Co6ZmrLApBTqv89MvF8sCGGuXhKpAClLbe9Un9GFunbrnJk21Q6AqJVeIFSYPQ/ LmPaAJ3oFifdPyI8W8OFB5GnkH7JImvFr/vH90zm0rt5hSwdpuV5PxxbcCZkAuVw/8OZ+Zup WBqwo9keLTzaGuzLNtruP62OXuwKuaryw80eWfZn5SxI41NVjoSLfDeoBdFarFtQFJUyEEXp uA4LED/aYxKbvTIZxTn/zC2mrheKn5iLKmJQjVCz67kBDQRQ3GFbAQgAxmWfmElDtz7IzOOH TWl3/vLih1dARzgJSv62v2mkQwcb9UyMmM5ZDyYZw36ZFoSyrcDxUipWfLk3wiV9+dqOidBH aVVJ9Oub15FZE0i4wkHPColkvEGCrwxWBSLQouYet9YzeWR/CzODylUPNDOWWqyOAT+2A68t jbRIQDONJhrqJPY+DWZinEewE8FxAFgcjCPGG512vTPmbg7OnWGWs1oORTFerAMWyNfxYdph MVad8b0uLX3csUXF+XVCQcwEwxfmiuDDYULmqYcDskbnG1lDBfpEngRZIbQ4ml15jhocc4Sv QnPKtNqBX6k3PWd/qdjk5JG8X9vYZDrG11BewQARAQABiQEfBBgBAgAJBQJQ3GFbAhsMAAoJ EEgOPhSwpMfHtwYIALi5sLY7FO2oiTihyHLeJXleV+2uP69KgoZdhdp8M/wOAc6bGr3L2wEK lF1lcCJAZBqgm6rPX8HFWgiH8FIgJEaR2ecOt+FNLqR0DKXTm785dpjHxQFOGbVM2zK+BsD9 Xnput34d9NcXhyOeABhi3eIJUATWY210OyC9siEGipBIK0eLnbFlaUOt83L75yn7TD58LSmh /Sp3GGFprmNL+5WrSyl1uy7bo+1qi4nOWikFL31lahQ4Zs73ST9GeTbd+wLDqSvHD/GP9Z8Y 8jNw+niBhKOLvFFrP7EUTchqjR36xPosf/MnqdETRiaV9c+J762X7vzwFazSCbAZ5h8CIL4= Message-ID: Date: Fri, 18 Jan 2019 11:00:01 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: <0009a5e4-eb90-01dc-3d8b-b39edd2f5164@php.net> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="imHJe7GqTtLOuKHiZ38X7c3AffCwy43Ez" Subject: Re: [PHP-DEV] FPM maintainership? From: mike@php.net (Michael Wallner) --imHJe7GqTtLOuKHiZ38X7c3AffCwy43Ez Content-Type: multipart/mixed; boundary="AiCFQglmaDqsNR4rS5eck4sUeZQJm9pMQ"; protected-headers="v1" From: Michael Wallner To: internals@lists.php.net Cc: Remi Collet , Jakub Zelenka Message-ID: Subject: Re: [PHP-DEV] FPM maintainership? References: <861e4190-1cb8-eeb6-740a-45485192034a@gmail.com> <812f29bf-ab37-f696-65af-117087d46413@fedoraproject.org> <0009a5e4-eb90-01dc-3d8b-b39edd2f5164@php.net> In-Reply-To: <0009a5e4-eb90-01dc-3d8b-b39edd2f5164@php.net> --AiCFQglmaDqsNR4rS5eck4sUeZQJm9pMQ Content-Type: multipart/mixed; boundary="------------1CF2C9F5DE8D82A4B0726238" Content-Language: en-GB This is a multi-part message in MIME format. --------------1CF2C9F5DE8D82A4B0726238 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi! How to get this going forward? On 21/02/2018 10:45, Michael Wallner wrote: > On 21/02/18 10:29, Remi Collet wrote: >> Hi, >> >> Le 21/02/2018 =C3=A0 10:21, Michael Wallner a =C3=A9crit=C2=A0: >>> I also have a patch I'd like to discuss with the new maintainers, whi= ch >>> attempts to fix FPM's SIGUSR2 graceful restart behaviour, and which >>> we've been running for half a year now IIRC. >> >> Any link to the patch ? >=20 > Sure, attached! >=20 --=20 Regards, Mike --------------1CF2C9F5DE8D82A4B0726238 Content-Type: text/x-patch; name="fpm-graceful.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="fpm-graceful.diff" commit 08754dba5a87128bd7182bb2146ff64036fecaa1 Author: Michael Wallner Date: Wed Mar 15 08:43:04 2017 +0100 php-fpm: graceful restart without losing requests diff --git a/sapi/fpm/fpm/fpm_process_ctl.c b/sapi/fpm/fpm/fpm_process_ct= l.c index ca5a6f2e40..72985699aa 100644 --- a/sapi/fpm/fpm/fpm_process_ctl.c +++ b/sapi/fpm/fpm/fpm_process_ctl.c @@ -80,6 +80,16 @@ static void fpm_pctl_exit() /* {{{ */ static void fpm_pctl_exec() /* {{{ */ { =20 + switch (fork()) { + case 0: + break; + case -1: + zlog(ZLOG_SYSERROR, "failed to reload: fork() failed"); + /* no break */ + default: + fpm_global_config.pid_file =3D NULL; + return; + } zlog(ZLOG_NOTICE, "reloading: execvp(\"%s\", {\"%s\"" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" "%s%s%s" @@ -108,9 +118,8 @@ static void fpm_pctl_action_last() /* {{{ */ { switch (fpm_state) { case FPM_PCTL_STATE_RELOADING: - fpm_pctl_exec(); - break; - + zlog(ZLOG_NOTICE, "exiting after reload"); + exit(FPM_EXIT_OK); case FPM_PCTL_STATE_FINISHING: case FPM_PCTL_STATE_TERMINATING: fpm_pctl_exit(); @@ -197,6 +206,10 @@ static void fpm_pctl_action_next() /* {{{ */ fpm_pctl_kill_all(sig); fpm_signal_sent =3D sig; fpm_pctl_timeout_set(timeout); + + if (fpm_signal_sent =3D=3D SIGQUIT && fpm_state =3D=3D FPM_PCTL_STATE_R= ELOADING) { + fpm_pctl_exec(); + } } /* }}} */ =20 diff --git a/sapi/fpm/fpm/fpm_sockets.c b/sapi/fpm/fpm/fpm_sockets.c index d58a8f82b6..5016914395 100644 --- a/sapi/fpm/fpm/fpm_sockets.c +++ b/sapi/fpm/fpm/fpm_sockets.c @@ -60,7 +60,17 @@ static void fpm_sockets_cleanup(int which, void *arg) = /* {{{ */ =20 if (which =3D=3D FPM_CLEANUP_PARENT_EXIT_MAIN) { if (ls->type =3D=3D FPM_AF_UNIX) { - unlink(ls->key); + struct sockaddr_un sa_un; + + memset(&sa_un, 0, sizeof(sa_un)); + strlcpy(sa_un.sun_path, ls->key, sizeof(sa_un.sun_path)); + sa_un.sun_family =3D AF_UNIX; + + if (fpm_socket_unix_test_connect(&sa_un, sizeof(sa_un)) =3D=3D 0) { + zlog(ZLOG_WARNING, "Keeping unix socket, another FPM instance seems= to already listen on %s", ls->key); + } else { + unlink(ls->key); + } } } free(ls->key); --------------1CF2C9F5DE8D82A4B0726238-- --AiCFQglmaDqsNR4rS5eck4sUeZQJm9pMQ-- --imHJe7GqTtLOuKHiZ38X7c3AffCwy43Ez Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCgAdFiEEHsPHHd1jWDGjN9aESA4+FLCkx8cFAlxBo6IACgkQSA4+FLCk x8fbvQf/ahmXG57uvnrVV0HW4TDPqiFux3LpSHaHWE/BdfpYFCbKR9bLiDg9J6JM 0FKWDQkSSUOo+QBMjpdPmTD8XkvZoJgqSbA0K4kre89Y6fA/yyljYRG6UfBva8IW cOmDJFeYsGOvudcEaoueGY7kL6EoKUGyi8OB2pkdyl5MxMGQvuoeta4DU6D7V9v0 8hkgeZfIgLfeNt76+mbMfSgD1WwoOSdQFoUYPtCvpUkwf3JonTB3HuwAWDCoTPUK 7g5nXPZ4608nNq380nuwU8zLCjMEuk/dgpvdSpKxFvujaFJvYskbUE8wkhmw8Fgw BHsQBkeR8G+YMeH+m2YgrvZnYh4iuw== =n7An -----END PGP SIGNATURE----- --imHJe7GqTtLOuKHiZ38X7c3AffCwy43Ez--