Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71779 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 52565 invoked from network); 30 Jan 2014 06:37:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Jan 2014 06:37:41 -0000 Authentication-Results: pb1.pair.com smtp.mail=bof@bof.de; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=bof@bof.de; sender-id=pass Received-SPF: pass (pb1.pair.com: domain bof.de designates 80.242.145.70 as permitted sender) X-PHP-List-Original-Sender: bof@bof.de X-Host-Fingerprint: 80.242.145.70 mars.intermailgate.com Received: from [80.242.145.70] ([80.242.145.70:40829] helo=mars.intermailgate.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B1/42-42724-433F9E25 for ; Thu, 30 Jan 2014 01:37:41 -0500 Received: (qmail 8327 invoked by uid 1009); 30 Jan 2014 07:37:37 +0100 Received: from 209.85.216.47 by mars (envelope-from , uid 89) with qmail-scanner-1.25-st-qms (clamdscan: 0.96.2/18413. spamassassin: 3.3.1. perlscan: 1.25-st-qms. Clear:RC:1(209.85.216.47):. Processed in 0.0656 secs); 30 Jan 2014 06:37:37 -0000 X-Antivirus-MYDOMAIN-Mail-From: bof@bof.de via mars X-Antivirus-MYDOMAIN: 1.25-st-qms (Clear:RC:1(209.85.216.47):. Processed in 0.0656 secs Process 8315) Received: from mail-qa0-f47.google.com (gmail@bof.de@209.85.216.47) by mars.intermailgate.com with RC4-SHA encrypted SMTP; 30 Jan 2014 07:37:36 +0100 Received: by mail-qa0-f47.google.com with SMTP id j5so3791464qaq.6 for ; Wed, 29 Jan 2014 22:37:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=vjFqY6HIN0rs5nxk95LixbG15WSePnMwq4NrMI1zsmo=; b=ZIsjhqyDsueHgEs7tVNgQ5qQ9UkaVmupa5q6N2ClrLaDPzXanwkBKZJY+STutKIeSD YjEQ23K+OcZVq/sMAHGNSxKwBAGOTh7599dRhPGeRr9gJxlRB8RDiZALBbvbB4hh0dV7 tXQ5nX2s4q6SH5JaCa6ZUPLbGg/jCmq8Jm/PyW2haTdvDtSgqOz3RYGkSAnMbFcXufTb b3YDIfCkfl9DL9hmx0LRKN3RQmlrBGMn9kNMgnmIyV0XyryDxIW5Ve23ToUiPALYhf/7 sOLYdVIP4hWMOlY+NeFd0jLvJNMqlcFAo24iy9vJ9gqk53PVBd6YfZq2E5h7Cxrnri7C nvoA== MIME-Version: 1.0 X-Received: by 10.224.72.11 with SMTP id k11mr5177745qaj.91.1391063855850; Wed, 29 Jan 2014 22:37:35 -0800 (PST) Received: by 10.140.94.75 with HTTP; Wed, 29 Jan 2014 22:37:35 -0800 (PST) Received: by 10.140.94.75 with HTTP; Wed, 29 Jan 2014 22:37:35 -0800 (PST) In-Reply-To: References: <52E9A631.5050808@sugarcrm.com> <18069656.FoN8fZuO6C@rofl> Date: Thu, 30 Jan 2014 07:37:35 +0100 Message-ID: To: Yasuo Ohgaki Cc: internals Content-Type: multipart/alternative; boundary=047d7bea2f40fcf24c04f12a4a9c Subject: Re: [PHP-DEV] Re: [VOTE] Introduce session.lock, session.lazy_write and session.lazy_destory From: bof@bof.de (Patrick Schaaf) --047d7bea2f40fcf24c04f12a4a9c Content-Type: text/plain; charset=ISO-8859-1 Unrelated to the previous discussion, and applicable to the base PHP code in mod_files.c too, another observation: Some syscalls can fail with EINTR, when a signal hits while within the kernel. This is especially true for flock(LOCK_EX) because in the already-locked case the second call will go to sleep for a while waiting for the lock to clear. But it is also possible, I think, for the pread/read/write calls. The usual handling for the case (-1 return && errno == EINTR) is to just repeat the call in a while loop. I think that at least doing so for the LOCK_EX calls, would be prudent. best regards Patrick --047d7bea2f40fcf24c04f12a4a9c--