Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:47468 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 13604 invoked from network); 22 Mar 2010 19:27:46 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Mar 2010 19:27:46 -0000 Authentication-Results: pb1.pair.com header.from=troelskn@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=troelskn@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.224 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: troelskn@gmail.com X-Host-Fingerprint: 209.85.220.224 mail-fx0-f224.google.com Received: from [209.85.220.224] ([209.85.220.224:37297] helo=mail-fx0-f224.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C7/95-15234-0B4C7AB4 for ; Mon, 22 Mar 2010 14:27:45 -0500 Received: by fxm24 with SMTP id 24so117474fxm.23 for ; Mon, 22 Mar 2010 12:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=otF3RX6ecGSnOwzgx7wfO8ikc7CIAbMW64Y0571VDLI=; b=ltk/HQJL2JkBCIfhC5vuxecKAlSPc83b1HpHIVWWB1SnXcPrqhnKHjUfR6+Fg1GJEK mRZrvAssvgUoR+o4610xZTfAI95wKIGBF8yQta5A5mAu3dcdKZH23Yp7ZY9LE8NaPWpm i5eKlvxtnuuNI+B8B6Hyni71wejuP6Sa3I3wE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=A0SzRxJt/L3cwfnpjskvYRYCZL98aNca4XvKFZzAo2PQkpR4Fhpphw6jkK200SwmBy 4ys6w/yN7axcvkm5zpR87fiOIZYkeLz/7qWhO0tEgnZltlprfCixG/oxN0VUlf2f34UJ FQd/VBN8Tfa8ERali62W9npfGehJNVHIpcwJI= MIME-Version: 1.0 Received: by 10.204.129.218 with SMTP id p26mr4683297bks.145.1269286060632; Mon, 22 Mar 2010 12:27:40 -0700 (PDT) In-Reply-To: References: <98b8086f1003220751j73a8414es89b9b469c46f6630@mail.gmail.com> <1269270852.1575.141.camel@guybrush> <98b8086f1003220822s47665f87x696b70e9c13dadbd@mail.gmail.com> <98b8086f1003220855ya52c266g8dc4cb866ed451ea@mail.gmail.com> <98b8086f1003221054j161316barf9a772da78f4ca85@mail.gmail.com> <1855ED34-B6FA-4B74-B603-5A0D0A47A5A6@macvicar.net> <98b8086f1003221137v1942fba6tee987fe3b4ff4715@mail.gmail.com> Date: Mon, 22 Mar 2010 20:27:40 +0100 Message-ID: <98b8086f1003221227w476f4e5eo82b790dfe16770b2@mail.gmail.com> To: PHP Developers Mailing List Content-Type: multipart/mixed; boundary=00151747b0b8c32c07048268b091 Subject: Re: [PHP-DEV] [PATCH] Raise warning first on "Maximum execution time exceeded" From: troelskn@gmail.com (troels knak-nielsen) --00151747b0b8c32c07048268b091 Content-Type: text/plain; charset=ISO-8859-1 With the help of Scotts last suggestion, I made some changes. It seems to work, but then I don't really know how to test it properly. I can verify that A) it allows userland code the grace period of 1 second for shutting down and B) shuts down regardless of the userland error handler returning or not. I have tested by running the following: php -r 'function err() { echo "Shutting down"; while (true) {}}; set_error_handler("err"); set_time_limit(2); while (true) {}' New patch is attached. -- troels --00151747b0b8c32c07048268b091 Content-Type: text/x-diff; charset=US-ASCII; name="zend_timeout_warning_3.patch" Content-Disposition: attachment; filename="zend_timeout_warning_3.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g73o06fn0 SW5kZXg6IFplbmQvemVuZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFplbmQvemVuZC5jCShyZXZpc2lvbiAy OTY2MjgpCisrKyBaZW5kL3plbmQuYwkod29ya2luZyBjb3B5KQpAQCAtNTUxLDYgKzU1MSw3IEBA CiAJRUcoZXhpdF9zdGF0dXMpID0gMDsKIAlFRyhzYXZlZF9mcHVfY3cpID0gTlVMTDsKIAlFRyhh Y3RpdmUpID0gMDsKKwlFRyh6ZW5kX3RpbWVvdXRfc29mdHN3aXRjaCkgPSAwOwogfQogLyogfX19 ICovCiAKSW5kZXg6IFplbmQvemVuZF9nbG9iYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gWmVuZC96ZW5k X2dsb2JhbHMuaAkocmV2aXNpb24gMjk2NjI4KQorKysgWmVuZC96ZW5kX2dsb2JhbHMuaAkod29y a2luZyBjb3B5KQpAQCAtMjM1LDYgKzIzNSw3IEBACiAKIAkvKiB0aW1lb3V0IHN1cHBvcnQgKi8K IAlpbnQgdGltZW91dF9zZWNvbmRzOworICAgICAgICBpbnQgemVuZF90aW1lb3V0X3NvZnRzd2l0 Y2g7CiAKIAlpbnQgbGFtYmRhX2NvdW50OwogCkluZGV4OiBaZW5kL3plbmRfZXhlY3V0ZV9BUEku Ywo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBaZW5kL3plbmRfZXhlY3V0ZV9BUEkuYwkocmV2aXNpb24gMjk2NjI4 KQorKysgWmVuZC96ZW5kX2V4ZWN1dGVfQVBJLmMJKHdvcmtpbmcgY29weSkKQEAgLTEzMDYsMTYg KzEzMDYsMjIgQEAKIAogWkVORF9BUEkgdm9pZCB6ZW5kX3RpbWVvdXQoaW50IGR1bW15KSAvKiB7 e3sgKi8KIHsKLQlUU1JNTFNfRkVUQ0goKTsKLQotCWlmICh6ZW5kX29uX3RpbWVvdXQpIHsKLQkJ emVuZF9vbl90aW1lb3V0KEVHKHRpbWVvdXRfc2Vjb25kcykgVFNSTUxTX0NDKTsKKwlpZiAoRUco emVuZF90aW1lb3V0X3NvZnRzd2l0Y2gpID09IDApIHsKKwkJRUcoemVuZF90aW1lb3V0X3NvZnRz d2l0Y2gpID0gMTsKKwkJemVuZF91bnNldF90aW1lb3V0KFRTUk1MU19DKTsKKwkJemVuZF9zZXRf dGltZW91dCgxLCAxKTsKKwkJemVuZF9lcnJvcihFX1dBUk5JTkcsICJNYXhpbXVtIGV4ZWN1dGlv biB0aW1lIG9mICVkIHNlY29uZCVzIGV4Y2VlZGVkIiwgRUcodGltZW91dF9zZWNvbmRzKSwgRUco dGltZW91dF9zZWNvbmRzKSA9PSAxID8gIiIgOiAicyIpOworCX0gZWxzZSB7CisJCVRTUk1MU19G RVRDSCgpOworIAorCQlpZiAoemVuZF9vbl90aW1lb3V0KSB7CisJCQl6ZW5kX29uX3RpbWVvdXQo RUcodGltZW91dF9zZWNvbmRzKSBUU1JNTFNfQ0MpOworCQl9CisgCisJCXplbmRfZXJyb3IoRV9F UlJPUiwgIk1heGltdW0gZXhlY3V0aW9uIHRpbWUgb2YgJWQgc2Vjb25kJXMgZXhjZWVkZWQiLCBF Ryh0aW1lb3V0X3NlY29uZHMpLCBFRyh0aW1lb3V0X3NlY29uZHMpID09IDEgPyAiIiA6ICJzIik7 CiAJfQotCi0JemVuZF9lcnJvcihFX0VSUk9SLCAiTWF4aW11bSBleGVjdXRpb24gdGltZSBvZiAl ZCBzZWNvbmQlcyBleGNlZWRlZCIsIEVHKHRpbWVvdXRfc2Vjb25kcyksIEVHKHRpbWVvdXRfc2Vj b25kcykgPT0gMSA/ICIiIDogInMiKTsKIH0KLS8qIH19fSAqLwotCisgLyogfX19ICovCiAjaWZk ZWYgWkVORF9XSU4zMgogc3RhdGljIExSRVNVTFQgQ0FMTEJBQ0sgemVuZF90aW1lb3V0X1duZFBy b2MoSFdORCBoV25kLCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0p IC8qIHt7eyAqLwogewo= --00151747b0b8c32c07048268b091--