1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-27 10:03:20 +00:00

. Take into account that pthread_mutex_trylock() can return EDEADLK as

well as EBUSY with libkse on FreeBSD 5.x.

Inspired by:	green
This commit is contained in:
Greg Lewis 2004-11-02 05:24:05 +00:00
parent fcf17aa812
commit 1816314216
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=120628
6 changed files with 66 additions and 0 deletions

View File

@ -0,0 +1,11 @@
--- ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 22 Oct 2003 23:03:43 -0000 1.1.1.2
+++ ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 21 Oct 2004 05:42:52 -0000
@@ -129,7 +129,7 @@
mid->monitor_owner = self;
mid->entry_count = 1;
return SYS_OK;
- } else if (err == EBUSY) { /* it's already locked */
+ } else if (err == EBUSY || err == EDEADLK) { /* it's already locked */
if (mid->monitor_owner == self) {
mid->entry_count++;
return SYS_OK;

View File

@ -0,0 +1,11 @@
--- ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 22 Oct 2003 23:04:19 -0000 1.1.1.1
+++ ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 21 Oct 2004 05:47:13 -0000
@@ -52,7 +52,7 @@
#define PTHREAD_MUTEXATTR_INIT pthread_mutexattr_init
#define PTHREAD_MUTEXATTR_DESTROY pthread_mutexattr_destroy
#define PTHREAD_MUTEX_INIT(m, a) pthread_mutex_init(&(m), &(a))
-#define PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
+#define PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
#define PTHREAD_CONDATTR_INIT pthread_condattr_init
#define PTHREAD_CONDATTR_DESTROY pthread_condattr_destroy
#define PTHREAD_COND_INIT(m, a) pthread_cond_init(&(m), &(a))

View File

@ -0,0 +1,11 @@
--- ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 22 Oct 2003 23:03:43 -0000 1.1.1.2
+++ ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 21 Oct 2004 05:42:52 -0000
@@ -129,7 +129,7 @@
mid->monitor_owner = self;
mid->entry_count = 1;
return SYS_OK;
- } else if (err == EBUSY) { /* it's already locked */
+ } else if (err == EBUSY || err == EDEADLK) { /* it's already locked */
if (mid->monitor_owner == self) {
mid->entry_count++;
return SYS_OK;

View File

@ -0,0 +1,11 @@
--- ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 22 Oct 2003 23:04:19 -0000 1.1.1.1
+++ ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 21 Oct 2004 05:47:13 -0000
@@ -52,7 +52,7 @@
#define PTHREAD_MUTEXATTR_INIT pthread_mutexattr_init
#define PTHREAD_MUTEXATTR_DESTROY pthread_mutexattr_destroy
#define PTHREAD_MUTEX_INIT(m, a) pthread_mutex_init(&(m), &(a))
-#define PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
+#define PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
#define PTHREAD_CONDATTR_INIT pthread_condattr_init
#define PTHREAD_CONDATTR_DESTROY pthread_condattr_destroy
#define PTHREAD_COND_INIT(m, a) pthread_cond_init(&(m), &(a))

View File

@ -0,0 +1,11 @@
--- ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 22 Oct 2003 23:03:43 -0000 1.1.1.2
+++ ../../j2se/src/solaris/hpi/native_threads/src/monitor_md.c 21 Oct 2004 05:42:52 -0000
@@ -129,7 +129,7 @@
mid->monitor_owner = self;
mid->entry_count = 1;
return SYS_OK;
- } else if (err == EBUSY) { /* it's already locked */
+ } else if (err == EBUSY || err == EDEADLK) { /* it's already locked */
if (mid->monitor_owner == self) {
mid->entry_count++;
return SYS_OK;

View File

@ -0,0 +1,11 @@
--- ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 22 Oct 2003 23:04:19 -0000 1.1.1.1
+++ ../../deploy/src/plugin/oji-plugin/include/solaris/navig4/nspr/md/_pth.h 21 Oct 2004 05:47:13 -0000
@@ -52,7 +52,7 @@
#define PTHREAD_MUTEXATTR_INIT pthread_mutexattr_init
#define PTHREAD_MUTEXATTR_DESTROY pthread_mutexattr_destroy
#define PTHREAD_MUTEX_INIT(m, a) pthread_mutex_init(&(m), &(a))
-#define PTHREAD_MUTEX_IS_LOCKED(m) (EBUSY == pthread_mutex_trylock(&(m)))
+#define PTHREAD_MUTEX_IS_LOCKED(m) (0 != pthread_mutex_trylock(&(m)))
#define PTHREAD_CONDATTR_INIT pthread_condattr_init
#define PTHREAD_CONDATTR_DESTROY pthread_condattr_destroy
#define PTHREAD_COND_INIT(m, a) pthread_cond_init(&(m), &(a))