nobu
729b4a813b
* win32/win32.c (open_dir_handle): extracted from rb_w32_opendir.
...
* win32/win32.c (winnt_stat): gets rid of strange behavior of
GetFileAttributes(). [ruby-core:21269]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-12 07:45:31 +00:00
nobu
97826efddd
* win32/win32.c (init_env): use user profile folder than personal
...
folder.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-01-05 03:52:11 +00:00
usa
39c2cf2c81
* win32/win32.c (rb_w32_argv_size): if an argument is empty, it's size
...
is 2, not 0, because it will be converted to "".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-27 11:28:18 +00:00
nobu
7c152e7f08
* win32/win32.c (rb_w32_spawn): deals with quoted commands.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 10:51:27 +00:00
usa
12932721dc
* win32/win32.c (rb_w32_spawn): support normal commands with arguments.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-23 07:50:57 +00:00
nobu
9f3b77e435
* configure.in (mingw): no longer uses snprintf and vsnprintf of
...
msvcrt.
* win32/win32.c (rb_w32_vsnprintf, rb_w32_snprintf): removed.
* win32/Makefile.sub (config.h): vsnprintf exists in VC7 or later.
* win32/mkexports.rb (Exports#initialize): aliases
rb_w32_vsnprintf and rb_w32_snprintf for binary compatibility.
* sprintf.c (rb_str_format): uses snprintf instead of sprintf.
* numeric.c (flo_to_s, rb_num2long, rb_num2ll): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-22 03:05:20 +00:00
nobu
7ac32d7a16
* dln.c (dln_find_1): supplements an extension for executable
...
files on DOSish platforms.
* io.c (pipe_open): use rb_w32_aspawn() for array form.
* win32/win32.c (rb_w32_pipe_exec): no longer used.
* win32/win32.c (rb_w32_spawn, rb_w32_aspawn): deals with batch
files and commands with extensions. [ruby-core:20695]
* win32/win32.c (has_redirection): supports environment variables
references.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-20 09:28:29 +00:00
usa
5d65e0982d
* win32/win32.c (rb_w32_read, rb_w32_write, rb_w32_isatty): check
...
whether fd is valid.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20539 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-05 09:08:24 +00:00
usa
a9a4435e12
* win32/win32.c (rb_w32_read): ERROR_BROKEN_PIPE is not a real error
...
at this point.
* io.c (pipe_open): use rb_w32_spawn() instead of rb_w32_pipe_exec()
to use our own redirection scheme.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 16:39:03 +00:00
usa
8068f49727
* win32/win32.c (waitpid): fix bug of checking child slot.
...
* win32/win32.c (FindChildSlotByHandle): new.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-12-04 14:31:37 +00:00
usa
d544a3d6c7
* win32/win32.c (rb_w32_accept): secure fd before accept because if
...
error causes in securing, cannot restore the state of accepted
socket.
fixed [ruby-core:19728]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-11 08:54:07 +00:00
usa
703c1825eb
* win32/win32.c (ifs_open_socket): should retry without proto_buffer
...
if cannot find the suitable protocol. a patch from Heesob Park.
fixed [ruby-core:19713]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-11-10 00:57:49 +00:00
usa
4542baa983
* win32/win32.c (rb_w32_open): shouldn't seek here.
...
* win32/win32.c (rb_w32_write): write to the end of the file when
FAPPEND is specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-29 02:01:19 +00:00
usa
746a09406e
* win32/win32.c (rb_w32_open): need to seek to the end of the file when
...
O_APPEND is specified.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 15:27:06 +00:00
usa
2f4e4a841d
* win32/win32.c (rb_w32_pipe_exec): internal fds should be always
...
binmode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19993 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-28 10:01:26 +00:00
nobu
860fad971d
* thread.c (blocking_region_{begin,end}): declared as inline.
...
* util.c (freedtoa): used only when MULTIPLE_THREADS is not defined.
* win32/win32.c (rb_w32_pipe): serial is DWORD.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-26 09:01:23 +00:00
yugui
a8c3540b32
* dln.c: Ruby no longer supports Windows CE.
...
* eval.c: ditto.
* include/ruby/defines.h: ditto.
* include/ruby/win32.h: ditto.
* ruby.c: ditto.
* strftime.c: ditto.
* win32/Makefile.sub: ditto.
* win32/win32.c: ditto.
* ext/tk/extconf.rb: ditto.
* lib/fileutils.rb: ditto.
* test/fileutils/test_fileutils.rb: ditto.
* wince/*: removed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-10-04 13:48:20 +00:00
usa
743765cd3b
* win32/win32.c (subtruct): check tv_sec. reported by ko1.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-23 10:39:21 +00:00
usa
c27baaa090
* win32/win32.c (getppid): typo. [ruby-dev:36202]
...
* process.c (get_ppid): mention the return value on Windows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 09:17:22 +00:00
usa
9ae4b8bbfe
* win32/win32.c (filetime_to_unixtime): remove unused variable.
...
[ruby-dev:36191]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-08 08:46:53 +00:00
usa
e64711977b
* win32/win32.c (filetime_to_timeval): new function, split from
...
gettimeofday().
* win32/win32.c (gettimeofday): use above function.
* win32/win32.c (filetime_to_unixtime): ditto. [ruby-dev:36135]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 16:14:17 +00:00
ko1
b00710df4e
* win32/win32.c: fix ruby/signal.h depending codes.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-03 15:06:55 +00:00
usa
7247d1a857
* win32/win32.c (gettimeofday): easier calculation. use the definition
...
of the Gregorian calender.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 01:51:41 +00:00
usa
0c26c309d4
* win32/win32.c (gettimeofday): calc tv_sec and tv_usec from system
...
time by myself. [ruby-dev:36084]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-02 01:17:28 +00:00
usa
4badcec903
* win32/win32.c (gettimeofday): shouldn't use mktime(2) because it's
...
buggy about handling summer time.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-01 09:28:54 +00:00
usa
7b2f9d9238
* win32/win32.c (rb_w32_open, rb_w32_read, rb_w32_write): fallback to
...
MSVCRT if text mode is specified. this case will not be used from
ruby itself.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 11:06:52 +00:00
usa
29c7201262
* win32/win32.c (rb_w32_read): EOF is not error.
...
ref [ruby-dev:36050]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-30 10:51:40 +00:00
usa
d2d37173e7
* win32/win32.c (rb_w32_read, rb_w32_write): more accurate handling
...
of wait result.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 19:49:20 +00:00
usa
9f31706636
* win32/win32.c (set_pioinfo_extra): use MSVCRT's open() and close().
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 15:21:04 +00:00
usa
3c8dca55c4
* win32/win32.c, include/ruby/win32.h (rb_w32_open): overlapped file
...
I/O support.
* win32/win32.c, include/ruby/win32.h (rb_w32_pipe): overlapped pipe
I/O support.
* wn32/win32.c (rb_w32_read, rb_w32_write): overlapped I/O support to
enable canceling I/O.
* thread_win32.c (ubf_handle): remove workaround.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-28 12:46:58 +00:00
usa
87746352f4
* win32.c (init_stdhandle): set binmode.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-25 14:58:01 +00:00
nobu
c6fb433c3f
* win32/win32.c (rb_w32_seekdir): no need to rewind to seek forward.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-01 05:54:45 +00:00
nobu
807fcf9d13
* win32/win32.c (rb_w32_select): recalc the rest of timeout for each
...
iterations. [ruby-core:18015]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-30 08:48:31 +00:00
nobu
66660a893a
* win32/win32.c (overlapped_socket_io, fcntl, rb_w32_close): must not
...
pass a pointer to int which is smaller than st_data_t on mswin64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 09:14:14 +00:00
nobu
d2f72cca6e
* win32/win32.c (CreateChild, overlapped_socket_io): suppress
...
warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 07:49:56 +00:00
usa
009db87ce2
* win32/win32.c (MAXPATHLEN): define before use.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-28 07:07:12 +00:00
nobu
c30616378e
* dln.h (dln_find_exe, dln_find_file): deprecated, use reentrant
...
versions instead.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-27 00:15:31 +00:00
usa
846584710a
* win32/win32.c (exit_handler): use st_free_table() to free socklist.
...
* win32/win32.c (rb_w32_pipe_exec, rb_w32_accept, rb_w32_socket,
rb_w32_socketpair): should check and release fd and sockets/handles
if an error occurs in rb_w32_open_osfhandle().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-24 07:33:00 +00:00
usa
f92478c0fb
* win32/win32.c (overlapped_socket_io): avoid warnings.
...
* thread_win32.c (ubf_handle): refactoring.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-24 07:05:49 +00:00
usa
ee560dc68f
* win32/win32.c (init_func): new function to get API's address which
...
is often used and not supported on all Windows.
* win32/win32.c (overlapped_socket_io): shouldn't use overlapped I/O if
CancelIo() is not supported.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-22 08:22:32 +00:00
usa
068dd60372
* win32/win32.c (socklist): table for registering socket options
...
(currently only O_NONBLOCK).
* win32/win32.c (StartSockets, exit_handler): alloc/free socklist.
* win32/win32.c (is_socket): use socklist.
* win32/win32.c (rb_w32_accept, rb_w32_socket, rb_w32_socketpair):
register new socket to socklist.
* win32/win32.c (rb_w32_close): remove closing socket from socklist.
* win32/win32.c (fcntl): register socket options.
* win32/win32.c (overlapped_socket_io): send to/recv from socket with
overlapped operation if the socket is not nonblocking mode.
[experimental]
* win32/win32.c (rb_w32_send, rb_w32_sendto, rb_w32_recv,
rb_w32_recvfrom): use overlapped_socket_io().
* win32/win32.c (open_ifs_socket): set overlapped mode. this is the
default mode of winsock's socket(), so lacking it is an old bug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-18 05:59:46 +00:00
usa
25498d24c8
* thread_win32.c (ubf_handle): cancel blocking IO if it can (only
...
Vista). see [ruby-dev:35446]
* win32/win32.c (errmap): add ERROR_OPERATION_ABORTED as EINTR.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-15 09:14:09 +00:00
usa
dde0905830
* win32/win32.c (rb_w32_select): shoudn't pass non-socket handle to
...
original select().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-11 16:55:14 +00:00
usa
4532c0d81e
* win32/win32.c (rb_w32_accept, rb_w32_socket, rb_w32_socketpair):
...
prohibit inheritance of sockets, too. [experimental]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-11 07:18:29 +00:00
usa
e9db21d9cf
* win32/win32.c (CreateChild): the measures for Vista is no longer
...
unnecessary.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-11 05:43:03 +00:00
usa
52a3897f4f
* win32/win32.c (insert): follow recent changes of globbing.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-10 08:22:04 +00:00
usa
d3a0ef8198
* include/ruby/win32.h, win32/win32.c (rb_w32_getppid): now support
...
getppid() on win32 (but only Win2k or later).
* process.c (get_ppid): remove win32 special logic.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-24 02:14:00 +00:00
usa
7c936bcbb7
* win32/win32.c (rb_w32_osid, rb_w32_osver, CreateChild): XP is
...
is different from Vista about pipe handle inheritance.
fixed [ruby-core:17367]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-21 15:45:16 +00:00
usa
5f2183f6b3
* win32/win32.c (rb_w32_spawn): no longer support P_WAIT.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-21 08:34:42 +00:00
usa
ad24701cce
* win32/win32.c (errmap): add some pipe errors.
...
* win32/win32.c (rb_w32_write): set errno when CRT's errno is EINVAL
for pipe errors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17410 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-18 09:32:03 +00:00