From f52c723967006d4c135e46bb3e2974e54657a5d8 Mon Sep 17 00:00:00 2001 From: Bryce McKinlay <bryce@albatross.co.nz> Date: Thu, 7 Sep 2000 12:09:41 +0000 Subject: [PATCH] Makefile.am (Thread.h): Don't be friends with native threads functions. 2000-09-07 Bryce McKinlay <bryce@albatross.co.nz> * Makefile.am (Thread.h): Don't be friends with native threads functions. * Makefile.in: Rebuilt. * java/lang/Thread.java (interrupt_flag): Make package-private. From-SVN: r36234 --- libjava/ChangeLog | 7 ++++ libjava/Makefile.am | 3 -- libjava/Makefile.in | 65 +++++++++++------------------------ libjava/java/lang/Thread.java | 2 +- libjava/posix-threads.cc | 4 +-- 5 files changed, 31 insertions(+), 50 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index a7fa378e12a6..01ab720d1a69 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2000-09-07 Bryce McKinlay <bryce@albatross.co.nz> + + * Makefile.am (Thread.h): Don't be friends with native threads + functions. + * Makefile.in: Rebuilt. + * java/lang/Thread.java (interrupt_flag): Make package-private. + 2000-09-06 Jeff Sturm <jeff.sturm@appnet.com> * include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long' diff --git a/libjava/Makefile.am b/libjava/Makefile.am index db05b63aea22..3b4ff9315015 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -246,9 +246,6 @@ java/lang/Thread.h: java/lang/Thread.class libgcj.zip -friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \ -friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ -friend 'class gnu::gcj::jni::NativeThread;' \ - -friend 'int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint nanos);' \ - -friend 'int _Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu);' \ - -friend 'void _Jv_ThreadInterrupt (_Jv_Thread_t *data);' \ $(basename $<) java/lang/String.h: java/lang/String.class libgcj.zip diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 84385b83a8a8..bdd6080d4f1f 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -115,48 +115,31 @@ here = @here@ libgcj_basedir = @libgcj_basedir@ AUTOMAKE_OPTIONS = foreign no-installinfo -@TESTSUBDIR_TRUE@SUBDIRS = \ -@TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include -@TESTSUBDIR_FALSE@SUBDIRS = \ -@TESTSUBDIR_FALSE@$(DIRLTDL) gcj include -@USE_LIBDIR_TRUE@toolexeclibdir = \ -@USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR) -@USE_LIBDIR_FALSE@toolexeclibdir = \ -@USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR) -@USE_LIBDIR_FALSE@toolexecdir = \ -@USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias) +@TESTSUBDIR_TRUE@SUBDIRS = @TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include +@TESTSUBDIR_FALSE@SUBDIRS = @TESTSUBDIR_FALSE@$(DIRLTDL) gcj include +@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR) +@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR) +@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias) toolexeclib_LTLIBRARIES = libgcj.la toolexeclib_DATA = libgcj.spec data_DATA = libgcj.zip -@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = \ -@NEEDS_DATA_START_TRUE@libgcjdata.a -@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = \ -@NEEDS_DATA_START_TRUE@libgcjdata.c +@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = @NEEDS_DATA_START_TRUE@libgcjdata.a +@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = @NEEDS_DATA_START_TRUE@libgcjdata.c -@NATIVE_TRUE@bin_PROGRAMS = \ -@NATIVE_TRUE@jv-convert gij +@NATIVE_TRUE@bin_PROGRAMS = @NATIVE_TRUE@jv-convert gij bin_SCRIPTS = addr2name.awk -@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = \ -@CANADIAN_TRUE@@NULL_TARGET_TRUE@gcj -@CANADIAN_TRUE@@NULL_TARGET_FALSE@GCJ = \ -@CANADIAN_TRUE@@NULL_TARGET_FALSE@$(target_alias)-gcj -@CANADIAN_FALSE@GCJ = \ -@CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/ -@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \ -@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) -@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \ -@CANADIAN_TRUE@@NULL_TARGET_FALSE@zip -@CANADIAN_FALSE@ZIP = \ -@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) -@CANADIAN_TRUE@GCJH = \ -@CANADIAN_TRUE@gcjh -@CANADIAN_FALSE@GCJH = \ -@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT) -@CANADIAN_FALSE@expanded = \ -@CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd` +@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = @CANADIAN_TRUE@@NULL_TARGET_TRUE@gcj +@CANADIAN_TRUE@@NULL_TARGET_FALSE@GCJ = @CANADIAN_TRUE@@NULL_TARGET_FALSE@$(target_alias)-gcj +@CANADIAN_FALSE@GCJ = @CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/ +@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) +@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_FALSE@zip +@CANADIAN_FALSE@ZIP = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT) +@CANADIAN_TRUE@GCJH = @CANADIAN_TRUE@gcjh +@CANADIAN_FALSE@GCJH = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT) +@CANADIAN_FALSE@expanded = @CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd` GCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled -fclasspath=$(here) -L$(here) $(JC1FLAGS) -c GCJLINK = $(LIBTOOL) --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@ @@ -171,10 +154,8 @@ AM_CXXFLAGS = -fno-rtti -fvtable-thunks -fasynchronous-exceptions \ -fdollars-in-identifiers \ @LIBGCJ_CXXFLAGS@ @EXCEPTIONSPEC@ $(WARNINGS) -D_GNU_SOURCE -@USING_GCC_TRUE@AM_CFLAGS = \ -@USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS) -@USING_GCC_FALSE@AM_CFLAGS = \ -@USING_GCC_FALSE@@LIBGCJ_CFLAGS@ +@USING_GCC_TRUE@AM_CFLAGS = @USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS) +@USING_GCC_FALSE@AM_CFLAGS = @USING_GCC_FALSE@@LIBGCJ_CFLAGS@ JCFLAGS = -g JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@ @@ -226,8 +207,7 @@ extra_headers = java/lang/Object.h java/lang/Class.h NM = nm -@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \ -@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS +@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS CONVERT_DIR = gnu/gcj/convert @@ -1868,7 +1848,7 @@ distdir: $(DISTFILES) @for file in $(DISTFILES); do \ d=$(srcdir); \ if test -d $$d/$$file; then \ - cp -pr $$/$$file $(distdir)/$$file; \ + cp -pr $$d/$$file $(distdir)/$$file; \ else \ test -f $(distdir)/$$file \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \ @@ -2120,9 +2100,6 @@ java/lang/Thread.h: java/lang/Thread.class libgcj.zip -friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \ -friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \ -friend 'class gnu::gcj::jni::NativeThread;' \ - -friend 'int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu, jlong millis, jint nanos);' \ - -friend 'int _Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu);' \ - -friend 'void _Jv_ThreadInterrupt (_Jv_Thread_t *data);' \ $(basename $<) java/lang/String.h: java/lang/String.class libgcj.zip diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java index 5b789630f867..3ee03093ac5c 100644 --- a/libjava/java/lang/Thread.java +++ b/libjava/java/lang/Thread.java @@ -288,7 +288,7 @@ public class Thread implements Runnable private Runnable runnable; private int priority; private boolean daemon_flag; - private boolean interrupt_flag; + boolean interrupt_flag; private boolean alive_flag; private boolean startable_flag; diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc index e6b4b256720c..e5a1668dac85 100644 --- a/libjava/posix-threads.cc +++ b/libjava/posix-threads.cc @@ -214,8 +214,8 @@ _Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu) pthread_cond_signal (&target->wait_cond); pthread_mutex_unlock (&target->wait_mutex); - // Two successive notify() calls should not be delivered to the same - // thread, so we remove the target thread from the cv wait list now. + // Two concurrent notify() calls must not be delivered to the same + // thread, so remove the target thread from the cv wait list now. if (prev == NULL) cv->first = target->next; else