diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-09-22 04:30:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-09-22 04:30:11 +0000 |
commit | 8aad024e3ac6524f8bc09d839a331f926eab30ec (patch) | |
tree | 826107ddf61a637dcb32d60f334bf56c27d72dc1 /win32 | |
parent | 70a444b0cc703a2fd3e05045cd1e36266221149e (diff) | |
download | ruby-8aad024e3ac6524f8bc09d839a331f926eab30ec.tar.gz |
19990922
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile | 6 | ||||
-rw-r--r-- | win32/ruby.def | 5 | ||||
-rw-r--r-- | win32/win32.c | 18 |
3 files changed, 23 insertions, 6 deletions
diff --git a/win32/Makefile b/win32/Makefile index d4f143bfca..f84c96bc3f 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -98,13 +98,13 @@ $(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(LIBRUBY_SO) @rm -f $@ $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) -o $@ $(LIBRUBYARG) -link /STACK:$(STACK) -$(LIBRUBY_A): $(OBJS) - lib -nologo /OUT:$@ $(OBJS) +$(LIBRUBY_A): $(OBJS) dmyext.obj + lib -nologo /OUT:$@ $(OBJS) dmyext.obj rubymw.lib: ruby.def lib -nologo /OUT:$@ /DEF:ruby.def -$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) +$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) ruby.def set LIB=.\win32;$(ORGLIBPATH) @rm -f $@ $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS) -o $@ -link /DLL /DEF:ruby.def diff --git a/win32/ruby.def b/win32/ruby.def index 7de1e8de59..1c79697fd7 100644 --- a/win32/ruby.def +++ b/win32/ruby.def @@ -33,6 +33,7 @@ EXPORTS rb_mErrno ;eval.c rb_cProc + ruby_frame rb_cThread rb_thread_tick rb_thread_critical @@ -72,6 +73,8 @@ EXPORTS rb_cRange ;re.c rb_cRegexp +;regex.c + re_mbctab ;ruby.c ruby_debug ruby_verbose @@ -370,7 +373,7 @@ EXPORTS rb_fdopen rb_file_open rb_file_sysopen - rb_io_unbuffered + rb_io_synchronized rb_p rb_gets rb_str_setter diff --git a/win32/win32.c b/win32/win32.c index beb9545af1..a28006ce86 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -677,7 +677,8 @@ mypclose(FILE *fp) // // close the pipe // - CloseHandle(MyPopenRecord[i].oshandle); + // Closehandle() is done by fclose(). + //CloseHandle(MyPopenRecord[i].oshandle); fflush(fp); fclose(fp); @@ -1835,7 +1836,20 @@ myselect (int nfds, fd_set *rd, fd_set *wr, fd_set *ex, errno = EINTR; break; case WSAENOTSOCK: - errno = EBADF; + // assume normal files are always readable/writable + // fake read/write fd_set and return value + r = 0; + if (rd) r += rd->fd_count; + if (wr) r += wr->fd_count; + if (ex && ex->fd_count > 0) { + // exceptional condition never happen for normal files + if (r > 0) + ex->fd_count = 0; + else { + errno = EBADF; + r = SOCKET_ERROR; + } + } break; } } |