win32/win32.c, win32/win32.h: large file support for win32.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (rb_w32_opendir): should not use plain realloc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
use recv() and send() when fd is socket. fixed: [ruby-dev:28694]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if the length of the cwd is longer than MAX_PATH.
fixed [ruby-list:42335]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c (rb_f_test): support DOSISH systems where st_ino is not
reliable. fixed: [ruby-core:06672]
* win32.h, win32.c (rb_w32_osid): check the running platform.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
p Dir.glob('*') should work on WinNT. (implemented our own
stat(2) on WinNT) [ruby-list:41552] [ruby-dev:27711]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
symbols. [ruby-dev:27532]
* bcc32/mkexports.rb, win32/mkexports.rb: make aliases in DLL.
* win32/win32.c, win32/win32.h: replace symbols only when RUBY_EXPORT
is defined.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
because select(2) modifies its fd_set arguments, it must be
restored sometimes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
but still has performance problem because I loosely took 1 second
for wait time. I'll fix it later. (The reason I drastically changed
the code is that I wanted to implement the fileset management as
single function, and I was worried that if pipe or console
was always available, socket may not be processed any time)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
this caused deadlock in drb test. this happened because GetFileType
for socket handle returns FILE_TYPE_PIPE. Of course, it's not a
pipe. So socket handle didn't reach winsock's select function.
* win32/win32.c (rb_w32_select): read for pipe still kept brocking
even if writer handle was closed.
r,w = IO.pipe
Thread.new {
sleep 3; puts "------- 1"
w.puts("foo")
sleep 3; puts "------- 2"
w.puts("boo")
sleep 3; puts "------- 3"
w.close
}
until r.eof? # should break by w.close but didn't.
puts r.gets
end
* win32/win32.c (rb_w32_select): temprary reverted console support
but it'll be back soon.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
using missing/vsnprintf.c. [ruby-dev:26580]
* missing/vsnprintf.c: made the output changeable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
for ENAMETOOLONG and ENOTEMPTY. (bcc32) [ruby-dev:26533]
* win32/win32.c (rb_w32_strerror): stripped CR LF on the tail.
(bcc32) [ruby-dev:26533]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
if file or directory already exists. (bcc32)
* win32/win32.c (rb_w32_rmdir): should set ENOTDIR (not EINVAL)
if it is not directory. (bcc32, win32)
* win32/win32.c (rb_w32_rmdir, rb_w32_unlink): restore
FILE_ATTRIBUTE_READONLY flag on function failure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8756 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c (StartSockets, rb_w32_socket): use open_ifs_socket()
instead of socket().
all changes are derived from [ruby-core:5388].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/gdbm/gdbm.c (fgdbm_closed): new method GDBM#closed?
* ext/sdbm/init.c (fsdbm_closed): new method SDBM#closed?
* test/dbm/test_dbm.rb, test/gdbm/test_gdbm.rb, test/sdbm/test_sdbm.rb
(teardown): close all db objects before deleting data files.
* win32/win32.{ch} (unlink): hook runtime function to change
file attribute before unlinking.
merge from 1.8, see [ruby-dev:26360]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
remove AC_TYPE_UID_T. fixed: [ruby-core:04745]
* defines.h: Remove pid_t typedef.
* ruby.h: Define rb_pid_t, rb_gid_t and rb_uid_t in accordance with
the available system types.
* process.c: Change instances of pid_t and gid_t to their rb_*
counterparts.
* ext/pty/pty.c: Change pid_t to rb_pid_t.
* vms/config.h: Define HAVE_{P,G,U}ID_T to 1.
* win32/Makefile.sub: Remove #define for {g,u}id_t.
* win32/win32.c: Change pid_t to rb_pid_t.
* wince/Makefile.sub: Remove #define for {g,u}id_t.
* wince/sys/types.h: Remove definitions of {p,g,u}id_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e