summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog22
-rw-r--r--eval.c9
-rw-r--r--ext/extmk.rb.in16
-rw-r--r--file.c2
-rw-r--r--lib/mkmf.rb18
-rw-r--r--version.h4
-rw-r--r--win32/config.status2
7 files changed, 31 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index 9a0c3500df..8e94150fec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,25 @@
Wed May 31 04:06:41 2000 Wakou Aoyama <wakou@fsinet.or.jp>
- * lib/cgi.rb: change: CGI#out()
- if "HEAD" == REQUEST_METHOD then output only HTTP header.
+ * lib/cgi.rb: change: CGI#out() if "HEAD" == REQUEST_METHOD then
+ output only HTTP header.
+
+Wed May 31 01:54:21 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * eval.c (rb_thread_schedule): set main_thread->status to
+ THREAD_TO_KILL, before raising deadlock error.
+
+ * eval.c (rb_thread_deadlock): if curr_thread == main_thread, do
+ not call rb_thread_restore_context()
+
+Tue May 30 23:33:41 2000 Katsuyuki Komatsu <komatsu@sarion.co.jp>
+
+ * ext/extmk.rb.in (have_library, have_func): remove unnecessary
+ try_link() call from the mswin32 platform branch.
+
+ * lib/mkmf.rb (have_library, have_func): ditto.
+
+ * lib/mkmf.rb (create_makefile): add $(TARGET).ilk and *.pdb
+ to cleanup files for mswin32.
Mon May 29 10:41:10 2000 Nobuyoshi Nakada <nobu.nakada@nifty.ne.jp>
diff --git a/eval.c b/eval.c
index abf4396017..0a92e4615e 100644
--- a/eval.c
+++ b/eval.c
@@ -6635,6 +6635,9 @@ rb_thread_fd_close(fd)
static void
rb_thread_deadlock()
{
+ if (curr_thread == main_thread) {
+ rb_raise(rb_eFatal, "Thread: deadlock");
+ }
curr_thread = main_thread;
th_raise_argc = 1;
th_raise_argv[0] = rb_exc_new2(rb_eFatal, "Thread: deadlock");
@@ -6877,17 +6880,17 @@ rb_thread_schedule()
curr_thread->file = ruby_sourcefile;
curr_thread->line = ruby_sourceline;
FOREACH_THREAD_FROM(curr, th) {
- fprintf(stderr, "deadlock 0x%lx: %d:%d %s - %s:%d:\n",
+ fprintf(stderr, "deadlock 0x%lx: %d:%d %s - %s:%d\n",
th->thread, th->status,
th->wait_for, th==main_thread?"(main)":"",
th->file, th->line);
}
END_FOREACH_FROM(curr, th);
- rb_thread_deadlock();
next = main_thread;
- rb_thread_ready(next);
next->gid = 0;
+ rb_thread_ready(next);
next->status = THREAD_TO_KILL;
+ rb_thread_deadlock();
}
if (next->status == THREAD_RUNNABLE && next == curr_thread) {
return;
diff --git a/ext/extmk.rb.in b/ext/extmk.rb.in
index 44232da7a1..0c134671ec 100644
--- a/ext/extmk.rb.in
+++ b/ext/extmk.rb.in
@@ -174,16 +174,8 @@ def have_library(lib, func="main")
#include <windows.h>
#include <winsock.h>
int main() { return 0; }
-int t() { #{func}(); return 0; }
-SRC
- unless r
- r = try_link(<<"SRC", libs)
-#include <windows.h>
-#include <winsock.h>
-int main() { return 0; }
int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; }
SRC
- end
else
r = try_link(<<"SRC", libs)
int main() { return 0; }
@@ -226,16 +218,8 @@ def have_func(func)
#include <windows.h>
#include <winsock.h>
int main() { return 0; }
-int t() { #{func}(); return 0; }
-SRC
- unless r
- r = try_link(<<"SRC", libs)
-#include <windows.h>
-#include <winsock.h>
-int main() { return 0; }
int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; }
SRC
- end
else
r = try_link(<<"SRC", libs)
int main() { return 0; }
diff --git a/file.c b/file.c
index 94f1ecb628..6d99c3016d 100644
--- a/file.c
+++ b/file.c
@@ -1950,7 +1950,7 @@ is_absolute_path(path)
const char *path;
{
if (path[0] == '/') return 1;
-# if defined(MSDOS) || defined(NT) || defined(__human68k__) || defined(__EMX__)
+# if defined DOSISH
if (path[0] == '\\') return 1;
if (strlen(path) > 2 && path[1] == ':') return 1;
# endif
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index c2b1fef688..14016f7a88 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -159,16 +159,8 @@ def have_library(lib, func="main")
#include <windows.h>
#include <winsock.h>
int main() { return 0; }
-int t() { #{func}(); return 0; }
-SRC
- unless r
- r = try_link(<<"SRC", libs)
-#include <windows.h>
-#include <winsock.h>
-int main() { return 0; }
int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; }
SRC
- end
else
r = try_link(<<"SRC", libs)
int main() { return 0; }
@@ -221,16 +213,8 @@ def have_func(func)
#include <windows.h>
#include <winsock.h>
int main() { return 0; }
-int t() { #{func}(); return 0; }
-SRC
- unless r
- r = try_link(<<"SRC", libs)
-#include <windows.h>
-#include <winsock.h>
-int main() { return 0; }
int t() { void ((*p)()); p = (void ((*)()))#{func}; return 0; }
SRC
- end
else
r = try_link(<<"SRC", libs)
int main() { return 0; }
@@ -405,7 +389,7 @@ EXEEXT = #{CONFIG["EXEEXT"]}
all: $(DLLIB)
clean:; @$(RM) *.#{$OBJEXT} *.so *.sl *.a $(DLLIB)
- @$(RM) $(TARGET).lib $(TARGET).exp
+ @$(RM) $(TARGET).lib $(TARGET).exp $(TARGET).ilk *.pdb
@$(RM) Makefile extconf.h conftest.*
@$(RM) core ruby$(EXEEXT) *~
diff --git a/version.h b/version.h
index e07486f936..400516474c 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
#define RUBY_VERSION "1.5.4"
-#define RUBY_RELEASE_DATE "2000-05-30"
+#define RUBY_RELEASE_DATE "2000-05-31"
#define RUBY_VERSION_CODE 154
-#define RUBY_RELEASE_CODE 20000530
+#define RUBY_RELEASE_CODE 20000531
diff --git a/win32/config.status b/win32/config.status
index aed17e8d6e..cdb7ac6abe 100644
--- a/win32/config.status
+++ b/win32/config.status
@@ -6,7 +6,7 @@ s%@CXXFLAGS@%%g
s%@FFLAGS@%%g
s%@DEFS@%
-DUSE_THREAD -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=4 -DSIZEOF_VOIDP=4 -DSIZEOF_FLOAT=4 -DSIZEOF_DOUBLE=8 -DHAVE_PROTOTYPES=1 -DHAVE_STDARG_PROTOTYPES=1 -DHAVE_STDLIB_H=1 -DHAVE_LIMITS_H=1 -DHAVE_FCNTL_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_ST_RDEV=1 -DGETGROUPS_T=int -DRETSIGTYPE=void -DHAVE_ALLOCA=1 -DHAVE_FMOD=1 -DHAVE_WAITPID=1 -DHAVE_GETCWD=1 -DHAVE_CHSIZE=1 -DHAVE_GETGROUPS=1 -DHAVE_GETLOGIN=1 -DRSHIFT=\(x,y\)\ \(\(x\)\>\>y\) -DFILE_COUNT=_cnt -DDLEXT=\".so\" -DDLEXT2=\".dll\" -DRUBY_PLATFORM=\"i386-mswin32\" %g
-s%@LDFLAGS@%$(CFLAGS) -Fm%g
+s%@LDFLAGS@%-nologo -Ox%g
s%@LIBS@%user32.lib advapi32.lib wsock32.lib%g
s%@exec_prefix@%${prefix}%g
s%@prefix@%/usr/local%g