diff options
author | Yasuo Ohgaki <yohgaki@php.net> | 2015-02-03 14:07:23 +0900 |
---|---|---|
committer | Yasuo Ohgaki <yohgaki@php.net> | 2015-02-03 14:07:23 +0900 |
commit | 1aa6242dcf856f799cd2c48a993fa507fbd949e6 (patch) | |
tree | 254589fdcfa8aa26c1c4a815161dd5b0e0fbf3db /ext/session/mod_files.c | |
parent | 5afe554d329cc7ebf054a42cc1d9bc3cff3e1b9a (diff) | |
parent | 4dd7851208af77588b55bfcb4987f6fc16217784 (diff) | |
download | php-git-1aa6242dcf856f799cd2c48a993fa507fbd949e6.tar.gz |
Merge branch 'PHP-5.6'
* PHP-5.6:
Fixed Bug #66623 no EINTR check on flock(LOCK_EX)
Conflicts:
ext/session/mod_files.c
Diffstat (limited to 'ext/session/mod_files.c')
-rw-r--r-- | ext/session/mod_files.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/session/mod_files.c b/ext/session/mod_files.c index 561d216adf..2db5159d91 100644 --- a/ext/session/mod_files.c +++ b/ext/session/mod_files.c @@ -159,6 +159,7 @@ static void ps_files_open(ps_files *data, const char *key) #if !defined(O_NOFOLLOW) || !defined(PHP_WIN32) struct stat sbuf; #endif + int ret; if (data->fd < 0 || !data->lastkey || strcmp(key, data->lastkey)) { if (data->lastkey) { @@ -201,7 +202,9 @@ static void ps_files_open(ps_files *data, const char *key) return; } #endif - flock(data->fd, LOCK_EX); + do { + ret = flock(data->fd, LOCK_EX); + } while (ret == -1 && errno == EINTR); #ifdef F_SETFD # ifndef FD_CLOEXEC |