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
This commit is contained in:
parent
8441bc3035
commit
f52c723967
5 changed files with 31 additions and 50 deletions
|
@ -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>
|
2000-09-06 Jeff Sturm <jeff.sturm@appnet.com>
|
||||||
|
|
||||||
* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
|
* include/jvm.h (_Jv_HashCode): Cast object ptr to `unsigned long'
|
||||||
|
|
|
@ -246,9 +246,6 @@ java/lang/Thread.h: java/lang/Thread.class libgcj.zip
|
||||||
-friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \
|
-friend '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \
|
||||||
-friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
|
-friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
|
||||||
-friend 'class gnu::gcj::jni::NativeThread;' \
|
-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 $<)
|
$(basename $<)
|
||||||
|
|
||||||
java/lang/String.h: java/lang/String.class libgcj.zip
|
java/lang/String.h: java/lang/String.class libgcj.zip
|
||||||
|
|
|
@ -115,48 +115,31 @@ here = @here@
|
||||||
libgcj_basedir = @libgcj_basedir@
|
libgcj_basedir = @libgcj_basedir@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign no-installinfo
|
AUTOMAKE_OPTIONS = foreign no-installinfo
|
||||||
@TESTSUBDIR_TRUE@SUBDIRS = \
|
@TESTSUBDIR_TRUE@SUBDIRS = @TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
|
||||||
@TESTSUBDIR_TRUE@$(DIRLTDL) testsuite gcj include
|
@TESTSUBDIR_FALSE@SUBDIRS = @TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
|
||||||
@TESTSUBDIR_FALSE@SUBDIRS = \
|
@USE_LIBDIR_TRUE@toolexeclibdir = @USE_LIBDIR_TRUE@$(libdir)$(MULTISUBDIR)
|
||||||
@TESTSUBDIR_FALSE@$(DIRLTDL) gcj include
|
@USE_LIBDIR_FALSE@toolexeclibdir = @USE_LIBDIR_FALSE@$(toolexecdir)/lib$(MULTISUBDIR)
|
||||||
@USE_LIBDIR_TRUE@toolexeclibdir = \
|
@USE_LIBDIR_FALSE@toolexecdir = @USE_LIBDIR_FALSE@$(exec_prefix)/$(target_alias)
|
||||||
@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_LTLIBRARIES = libgcj.la
|
||||||
toolexeclib_DATA = libgcj.spec
|
toolexeclib_DATA = libgcj.spec
|
||||||
data_DATA = libgcj.zip
|
data_DATA = libgcj.zip
|
||||||
|
|
||||||
@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = \
|
@NEEDS_DATA_START_TRUE@toolexeclib_LIBRARIES = @NEEDS_DATA_START_TRUE@libgcjdata.a
|
||||||
@NEEDS_DATA_START_TRUE@libgcjdata.a
|
@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = @NEEDS_DATA_START_TRUE@libgcjdata.c
|
||||||
@NEEDS_DATA_START_TRUE@libgcjdata_a_SOURCES = \
|
|
||||||
@NEEDS_DATA_START_TRUE@libgcjdata.c
|
|
||||||
|
|
||||||
@NATIVE_TRUE@bin_PROGRAMS = \
|
@NATIVE_TRUE@bin_PROGRAMS = @NATIVE_TRUE@jv-convert gij
|
||||||
@NATIVE_TRUE@jv-convert gij
|
|
||||||
|
|
||||||
bin_SCRIPTS = addr2name.awk
|
bin_SCRIPTS = addr2name.awk
|
||||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = \
|
@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = @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_TRUE@@NULL_TARGET_FALSE@GCJ = \
|
@CANADIAN_FALSE@GCJ = @CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/
|
||||||
@CANADIAN_TRUE@@NULL_TARGET_FALSE@$(target_alias)-gcj
|
@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
|
||||||
@CANADIAN_FALSE@GCJ = \
|
@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = @CANADIAN_TRUE@@NULL_TARGET_FALSE@zip
|
||||||
@CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/
|
@CANADIAN_FALSE@ZIP = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
|
||||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \
|
@CANADIAN_TRUE@GCJH = @CANADIAN_TRUE@gcjh
|
||||||
@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
|
@CANADIAN_FALSE@GCJH = @CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
|
||||||
@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \
|
@CANADIAN_FALSE@expanded = @CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
|
||||||
@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
|
GCJCOMPILE = $(LIBTOOL) --mode=compile $(GCJ) -fassume-compiled -fclasspath=$(here) -L$(here) $(JC1FLAGS) -c
|
||||||
GCJLINK = $(LIBTOOL) --mode=link $(GCJ) -L$(here) $(JC1FLAGS) $(LDFLAGS) -o $@
|
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 \
|
-fdollars-in-identifiers \
|
||||||
@LIBGCJ_CXXFLAGS@ @EXCEPTIONSPEC@ $(WARNINGS) -D_GNU_SOURCE
|
@LIBGCJ_CXXFLAGS@ @EXCEPTIONSPEC@ $(WARNINGS) -D_GNU_SOURCE
|
||||||
|
|
||||||
@USING_GCC_TRUE@AM_CFLAGS = \
|
@USING_GCC_TRUE@AM_CFLAGS = @USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
|
||||||
@USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
|
@USING_GCC_FALSE@AM_CFLAGS = @USING_GCC_FALSE@@LIBGCJ_CFLAGS@
|
||||||
@USING_GCC_FALSE@AM_CFLAGS = \
|
|
||||||
@USING_GCC_FALSE@@LIBGCJ_CFLAGS@
|
|
||||||
|
|
||||||
JCFLAGS = -g
|
JCFLAGS = -g
|
||||||
JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
|
JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
|
||||||
|
@ -226,8 +207,7 @@ extra_headers = java/lang/Object.h java/lang/Class.h
|
||||||
|
|
||||||
NM = nm
|
NM = nm
|
||||||
|
|
||||||
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
|
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = @NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
|
||||||
@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
|
|
||||||
|
|
||||||
CONVERT_DIR = gnu/gcj/convert
|
CONVERT_DIR = gnu/gcj/convert
|
||||||
|
|
||||||
|
@ -1868,7 +1848,7 @@ distdir: $(DISTFILES)
|
||||||
@for file in $(DISTFILES); do \
|
@for file in $(DISTFILES); do \
|
||||||
d=$(srcdir); \
|
d=$(srcdir); \
|
||||||
if test -d $$d/$$file; then \
|
if test -d $$d/$$file; then \
|
||||||
cp -pr $$/$$file $(distdir)/$$file; \
|
cp -pr $$d/$$file $(distdir)/$$file; \
|
||||||
else \
|
else \
|
||||||
test -f $(distdir)/$$file \
|
test -f $(distdir)/$$file \
|
||||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
|| 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 '_Jv_JNIEnv * _Jv_GetCurrentJNIEnv ();' \
|
||||||
-friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
|
-friend 'void _Jv_SetCurrentJNIEnv (_Jv_JNIEnv *env);' \
|
||||||
-friend 'class gnu::gcj::jni::NativeThread;' \
|
-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 $<)
|
$(basename $<)
|
||||||
|
|
||||||
java/lang/String.h: java/lang/String.class libgcj.zip
|
java/lang/String.h: java/lang/String.class libgcj.zip
|
||||||
|
|
|
@ -288,7 +288,7 @@ public class Thread implements Runnable
|
||||||
private Runnable runnable;
|
private Runnable runnable;
|
||||||
private int priority;
|
private int priority;
|
||||||
private boolean daemon_flag;
|
private boolean daemon_flag;
|
||||||
private boolean interrupt_flag;
|
boolean interrupt_flag;
|
||||||
private boolean alive_flag;
|
private boolean alive_flag;
|
||||||
private boolean startable_flag;
|
private boolean startable_flag;
|
||||||
|
|
||||||
|
|
|
@ -214,8 +214,8 @@ _Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
|
||||||
pthread_cond_signal (&target->wait_cond);
|
pthread_cond_signal (&target->wait_cond);
|
||||||
pthread_mutex_unlock (&target->wait_mutex);
|
pthread_mutex_unlock (&target->wait_mutex);
|
||||||
|
|
||||||
// Two successive notify() calls should not be delivered to the same
|
// Two concurrent notify() calls must not be delivered to the same
|
||||||
// thread, so we remove the target thread from the cv wait list now.
|
// thread, so remove the target thread from the cv wait list now.
|
||||||
if (prev == NULL)
|
if (prev == NULL)
|
||||||
cv->first = target->next;
|
cv->first = target->next;
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue