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
usa
32c63d1f35
* win32/win32.c (poll_child_status): set EINVAL to errno when
...
GetExitCodeProcess() fails with ERROR_INVALID_HANDLE.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-18 09:10:04 +00:00
usa
62617789ed
* win32/win32.c (CreateChild): no need to inherit handles here because
...
spawn'ed child cannot detect that STDIN is closed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-17 08:31:41 +00:00
nobu
7c5e3348f7
* suppress warnings on cygwin, mingw and mswin.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-01 19:55:25 +00:00
usa
9416fedc28
* process.c, include/ruby/intern.h (rb_run_exec_options): externed.
...
* process.c (save_redirect_fd, save_env_i, save_env, run_exec_dup2,
run_exec_open, run_exec_pgroup, run_exec_rlimit, rb_run_exec_options):
save parent's process environments.
!!!remark!!! these are not thread-safe.
* process.c (rb_spawn_internal): remove calling run_exec_options()
because cannot restore after spawn. we'll fix this later.
* io.c (pipe_open): ditto.
* test/ruby/test_process.rb (test_execopts_env): upcase environment
variable name for case insensitive platforms.
* win32/win32.c (init_env): set USER environment variable only when
USERNAME is available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-12 14:15:32 +00:00
nobu
99b9eaaa68
* win32/win32.c (rb_w32_map_errno): exported.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-20 14:55:21 +00:00
usa
cae4fb76dc
* include/ruby/win32.h win32/win32.c (rb_w32_pipe_exec): use dual fd
...
instead of socketpair when mode is RDWR.
* io.c (pipe_open): pass &write_fd to rb_w32_pipe_exec().
* io.c (popen_redirect): define only when HAVE_FORK.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-20 04:04:51 +00:00
usa
50c7751b60
* win32/win32.c (init_env): refactoring. remove unused code.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-10-02 11:17:23 +00:00
nobu
400202f6a5
* main.c (main): use platform-independent per-process initialization.
...
[ruby-dev:31900]
* ruby.c (ruby_sysinit): new function for per-process initialization.
* include/ruby/ruby.h (RUBY_GLOBAL_SETUP): toplevel setup declaration.
* include/ruby/win32.h, win32/mkexports.rb: alias NtInitialize
ruby_sysinit.
* win32/win32.c (rb_w32_sysinit): renamed from NtInitialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-09-29 08:45:24 +00:00
nobu
92cad4305b
* bcc32/{Makefile.sub,configure.bat,setup.mak: configure_args
...
support.
* bcc32/setup.mak: check runtime version.
* win32/win32.c (rb_w32_open_osfhandle): prototype has changed
in bcc 5.82.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-21 08:32:34 +00:00
nobu
cba32dcaa6
* ext/dl/cfunc.c (rb_dlcfunc_call): adjust format. [ruby-dev:31222]
...
* ext/digest/digest.c (rb_digest_instance_update,
rb_digest_instance_finish, rb_digest_instance_reset,
rb_digest_instance_block_length): %s in rb_raise() expects char*.
[ruby-dev:31222]
* ext/openssl/ossl.h: include ossl_pkcs5.h. [ruby-dev:31231]
* ext/openssl/ossl_pkcs5.h: new file for PKCS5. [ruby-dev:31231]
* ext/openssl/ossl_x509name.c (ossl_x509name_to_s): use ossl_raise()
instead of rb_raise(). [ruby-dev:31222]
* ext/sdbm/_sdbm.c: DOSISH platforms need io.h. [ruby-dev:31232]
* ext/syck/syck.h: include stdlib.h for malloc() and free().
[ruby-dev:31232]
* ext/syck/syck.h (syck_parser_set_input_type): prototype added.
[ruby-dev:31231]
* win32/win32.c: include mbstring.h for _mbspbrk(). [ruby-dev:31232]
* include/ruby/win32.h (rb_w32_getcwd): prototype added.
[ruby-dev:31232]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-15 13:24:39 +00:00
nobu
9dbaa0a9a9
* win32/win32.c (CreateChild): enclose command line except for
...
command.com which can not handle quotes. [ruby-talk:258939]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12758 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-07-13 06:02:18 +00:00
usa
cd72ed32cc
* win32/win32.c: remove unused functions.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 14:52:00 +00:00
usa
1aa54c6db6
* include/ruby/win32.h, win32/Makefile.sub, win32/configure.bat,
...
win32/mkexports.rb, win32/setup.mak, win32/win32.c: import
x64-mswin64 port.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-27 11:47:53 +00:00
nobu
2b592580bf
* include/ruby: moved public headers.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-10 03:06:15 +00:00
nobu
82159c813b
* win32/win32.c (rb_w32_opendir): removed duplicated code.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29 03:30:14 +00:00
nobu
d15b7d0509
* win32/win32.c (rb_w32_opendir, rb_w32_readdir): eliminate magic
...
numbers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-29 01:53:14 +00:00
usa
216dcd80ff
* win32/win32.c (init_stdhandle): stderr should be without buffering,
...
but mswin32 use buffering when stderr is not connected to tty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-05-15 06:01:33 +00:00
usa
fb853dc2c2
* win32/win32.c (NtInitialize, exit_handler): add initializing and
...
cleanup of critical section object for select.
* win32/win32.c (do_select): block reentrance.
* win32/win32.c (rb_w32_select): 0 sec polling of socket. this is
workaround because winsock cannot do select at same socket at the
same time by two or more threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-25 06:28:20 +00:00
usa
314734add8
* win32/win32.[ch] (rb_w32_enter_critical, rb_w32_leave_critical): no
...
need to reject reentrance. removed.
* rubysig.h (RUBY_CRITICAL): follow above changes.
* rubysig.h (TRAP_BEG, TRAP_END): no need to save errno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-11 07:37:02 +00:00
usa
20e961458e
* win32/win32.c (rb_w32_fclose, rb_w32_close): need to save errno
...
before calling original fclose()/close().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-10 08:02:38 +00:00
usa
1486959550
* thread.c (do_select): use ubf_select() as UBF on windows.
...
* win32/win32.c (do_select): shouldn't call catch_interrupt() here.
fixed: [ruby-dev:30674], reported by wanabe.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-09 09:29:45 +00:00
usa
528e8517b8
* win32/win32.c (rb_w32_cmdvector): fixed buffer size. reported by
...
wanabe [ruby-dev:30672]
* win32/win32.c (init_env, insert, rb_w32_get_environ): use strdup
instead of malloc + strlcpy. suggested by nobu [ruby-dev:30673]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-30 02:50:58 +00:00
usa
240f1279aa
* win32/win32.c (init_env, insert, cmdglob, rb_w32_cmdvector,
...
rb_w32_opendir, rb_w32_readdir, rb_w32_strerror, rb_w32_stati64,
rb_w32_get_environ): use strlcpy() and strlcat().
* win32/win32.c (rb_w32_opendir): use realloc() instead of xrealloc().
* win32/win32.c (rb_w32_closedir): check NULL before free pointers.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12125 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-23 02:30:53 +00:00
usa
f3cde2b5fb
* win32/dir.h, win32/win32.c (rb_w32_opendir, rb_w32_readdir,
...
rb_w32_closedir): get rid of possible buffer-overflows.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-17 23:42:00 +00:00
nobu
da3558fddb
* parse.y (parser_yylex), win32/win32.c (rb_w32_utime): fixed
...
indentation broken at YARV merger.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-03-04 16:36:36 +00:00
nobu
8ac59769bc
* file.c (rb_thread_flock, rb_file_flock): use UBF feature.
...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11865 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 09:45:41 +00:00
nobu
c034fce5ce
* process.c (rb_waitpid_blocking, rb_waitpid): use UBF feature.
...
* thread_win32.ci (rb_w32_wait_events_blocking): blocking version.
* win32/win32.c (waitpid): use rb_w32_wait_events_blocking().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-02-24 09:43:40 +00:00