You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by bo...@apache.org on 2009/06/26 07:47:24 UTC
svn commit: r788588 - in /apr/apr/trunk: CHANGES locks/unix/proc_mutex.c
Author: bojan
Date: Fri Jun 26 05:47:23 2009
New Revision: 788588
URL: http://svn.apache.org/viewvc?rev=788588&view=rev
Log:
Avoid proc mutex failures by checking for both EAGAIN and EWOULDBLOCK.
Workaround for long standing Linux/hppa bug.
Patch by Stefan Fritsch <sf sfritsch.de>.
Modified:
apr/apr/trunk/CHANGES
apr/apr/trunk/locks/unix/proc_mutex.c
Modified: apr/apr/trunk/CHANGES
URL: http://svn.apache.org/viewvc/apr/apr/trunk/CHANGES?rev=788588&r1=788587&r2=788588&view=diff
==============================================================================
--- apr/apr/trunk/CHANGES [utf-8] (original)
+++ apr/apr/trunk/CHANGES [utf-8] Fri Jun 26 05:47:23 2009
@@ -1,6 +1,10 @@
-*- coding: utf-8 -*-
Changes for APR 2.0.0
+ *) On Linux/hppa flock() returns EAGAIN instead of EWOULDBLOCK. This
+ causes proc mutex failures.
+ [Stefan Fritsch <sf sfritsch.de>]
+
*) Add apr_file_sync() and apr_file_datasync() calls.
[Bojan Smojver]
Modified: apr/apr/trunk/locks/unix/proc_mutex.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/locks/unix/proc_mutex.c?rev=788588&r1=788587&r2=788588&view=diff
==============================================================================
--- apr/apr/trunk/locks/unix/proc_mutex.c (original)
+++ apr/apr/trunk/locks/unix/proc_mutex.c Fri Jun 26 05:47:23 2009
@@ -732,7 +732,7 @@
rc = flock(mutex->interproc->filedes, LOCK_EX | LOCK_NB);
} while (rc < 0 && errno == EINTR);
if (rc < 0) {
- if (errno == EWOULDBLOCK) {
+ if (errno == EWOULDBLOCK || errno == EAGAIN) {
return APR_EBUSY;
}
return errno;