aboutsummaryrefslogtreecommitdiffstats
path: root/win32/win32.c
Commit message (Collapse)AuthorAgeFilesLines
* win32.c: GetLastError oncenobu2013-06-191-6/+9
| | | | | | * win32/win32.c (poll_child_status): call GetLastError() once. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: no error after retrynobu2013-06-191-0/+3
| | | | | | * win32/win32.c (waitpid): return 0 on error after retried. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: wait until exitnobu2013-06-191-2/+4
| | | | | | | | * win32/win32.c (waitpid): should not return 0 but wait until exit unless WNOHANG is given. waiting huge process may return while active, for some reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41447 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Revert r41179 "partially revert r41163 because r41173 didn't fix failure"naruse2013-06-081-1/+1
| | | | | | r41173 is not actually tested; it seems good. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* partially revert r41163 because r41173 didn't fix failurenaruse2013-06-081-1/+1
| | | | | | http://ruby-mswin.cloudapp.net/vc10-x64/ruby-trunk/log/20130608T101707Z.log.html.gz git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: NET_LUIDnobu2013-06-081-1/+1
| | | | | | | | * configure.in: check for NET_LUID. header macro varies across complier versions. * win32/win32.c: use configured macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (NET_LUID): define it on MinGW32.naruse2013-06-051-1/+1
| | | | | | | mingw-w64 has NET_LUID but mingw32 (mingw.org) still doesn't have NET_LUID. reported by taco on IRC git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: check error of SetFilePointernobu2013-05-221-2/+5
| | | | | | | | | | * win32/win32.c (setup_overlapped): check the error code in addition to the result of SetFilePointer() to determine if an error occurred, because INVALID_SET_FILE_POINTER is a valid value. [ruby-core:55098] [Bug #8431] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40888 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: extract setup_overlapped and finish_overlappednobu2013-05-221-56/+44
| | | | | | | | * win32/win32.c (setup_overlapped, finish_overlapped): extract from rb_w32_read() and rb_w32_write(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40887 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix typos. Patch by k_takata.ktsj2013-05-191-6/+6
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iphlpapi is unavailable with older VCnobu2013-05-141-0/+2
| | | | | | | * include/ruby/win32.h, win32/Makefile.sub, win32/win32.c: iphlpapi is not available with older Visual C. works with VC9 or later at least. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (NET_LUID): mingw may have NET_LUID and not definedusa2013-05-141-1/+1
| | | | | | | _IFDEF_. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (getipaddrs): use alternamtive interface name ifusa2013-05-131-4/+66
| | | | | | | available, because if_nametoindex() requires them. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40694 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/ruby/win32.h (getipaddrs): [experimental]usa2013-05-131-3/+83
| | | | | | | | | | | | | | | emulate getipaddrs(3) on Unix. * win32/Makefile.sub, configure.in (LIBS): need iphlpapi.lib for above function. * include/ruby/win32.h (socketpair): rb_w32_socketpair() doesn't substitute for any function, so use non-prefixed name. * ext/socket/extconf.rb (socketpair); follow above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in: removes AC_CHECK_FUNC(fseeko, fseeko64, ftello,kosaki2013-05-121-32/+0
| | | | | | | | | | | | ftello64). They are not used from anywhere. * win32/win32.c (fseeko): removes. * win32/win32.c (rb_w32_ftello): removes. * include/ruby/win32.h: removes declarations of rb_w32_ftello and rb_w32_fseeko. * win32/Makefile.sub: removes '#define HAVE_FTELLO 1'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix build errornobu2013-05-031-0/+4
| | | | | | * win32/win32.c (poll_child_status): fix build error on older mingw. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: optimizationnobu2013-05-031-3/+2
| | | | | | * win32/win32.c (poll_child_status): trivial optimization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (poll_child_status): constified.usa2013-05-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_process.rb (TestProcess#test_no_curdir): maybe nowusa2013-05-021-0/+1
| | | | | | | | | | we can test it. * test/ruby/test_thread.rb (TestThread#test_thread_timer_and_interrupt): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (poll_child_status): [experimental] set the cause ofusa2013-05-021-1/+33
| | | | | | | a child's death to status if its exitcode seems to be an error. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: pass through unknown sequencenobu2013-04-031-1/+11
| | | | | | | | * win32/win32.c (constat_apply): pass through unknown sequence which starts with ESC but is not followed by a bracket. [ruby-core:53879] [Bug #8201] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: missing breaknobu2013-04-021-0/+1
| | | | | | * win32/win32.c (constat_attr): fix missing break. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,usa2013-03-291-10/+1
| | | | | | | | | | because the latter fails on cross device file move of some environments. fix [ruby-core:53492] [Bug #8109] reported by mitchellh (Mitchell Hashimoto) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: fix typenobu2013-02-281-3/+3
| | | | | | | * win32/win32.c (constat_attr): fix type of attributes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningnobu2013-02-281-1/+1
| | | | | | | | * win32/win32.c (set_env_val): get rid of intger overflow warning by VC 11. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: suppress warningsnobu2013-02-271-2/+2
| | | | | | | | * win32/win32.c (set_env_val): reuse size of typedef to suppress unused-local-typedefs warnings from gcc 4.8 and reduce same calculation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: stylenobu2013-02-151-1/+2
| | | | | | | * win32/win32.c (rb_w32_fd_is_text): adjust style. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: missing initializationnobu2013-01-231-2/+2
| | | | | | | | * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): fix missing initialization. pointed out by phasis68 (Heesob Park) at [ruby-core:51579]. [Bug #7721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: acp_to_wstr results checknobu2013-01-231-8/+16
| | | | | | | | * win32/win32.c (rb_w32_spawn, rb_w32_aspawn_flags): check the results of acp_to_wstr() which can return NULL. [ruby-core:51557] [Bug #7721] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/{dir.h,win32.c} (rb_w32_readdir): removed old rb_w32_readdir()usa2012-12-211-9/+2
| | | | | | | | | | and renamed from rb_w32_readdir_with_enc(). [ruby-core:24864] [Feature #1927] * dir.c (READDIR): follow above change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_read): Windows 8 fixed one of a bug of consoleusa2012-11-201-1/+1
| | | | | | | | API. based on the patch by Heesob Park at [ruby-core:49479] [Bug #7379] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (has_redirection): should use shell (cmd.exe) whenusa2012-10-251-0/+1
| | | | | | | | | the commandline containts '&'. reported by Roger Pack at [ruby-core:47912] [Bug #7143], and patched by Heesob Park at [ruby-core:47931]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37322 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (check_valid_dir): reject "..." as directory name.usa2012-08-141-1/+8
| | | | | | | [Bug #6851] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36696 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Optimize winnt_statshirosaki2012-08-091-16/+38
| | | | | | | | | | | | | | | | | * test/ruby/test_file_exhaustive.rb (TestFileExhaustive#test_stat_special_file): add a test. GetFileAttributesExW fails to get attributes of special files such as pagefile.sys. * win32/win32.c (check_valid_dir): for performance, check the path by FindFirstFileW only if the path containts "..." * win32/win32.c (winnt_stat): use GetFileAttributesExW instead of FindFirstFileW since GetFileAttributesExW is faster. Based on the patch by Dusan D. Majkic. [ruby-core:47083] [Feature #6845] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32.c: rb_w32_inet_ntop should be constnobu2012-07-291-1/+1
| | | | | | | * win32/win32.c (rb_w32_inet_ntop): type should be const. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: suppress warning redeclaredshirosaki2012-07-281-6/+4
| | | | | | | | * win32/win32.c: suppress warning redeclared on mingw64. *_s functions are declared if MINGW_HAS_SECURE_API is defined. Follow up r36556. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/win32.c: fix localtime_r() on x64-mingwshirosaki2012-07-281-3/+14
| | | | | | | | | | | * win32/win32.c (gmtime_r): use _gmtime64_s() with x86_64-w64-mingw32. * win32/win32.c (localtime_r): use _localtime64_s() with x86_64-w64-mingw32. Since FileTimeToSystemTime() seems not work with large value under x64. Mingw-w64 doesn't have these declaration. [ruby-core:46780] [Bug #6794] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_socket, rb_w32_socketpair): remember the familyusa2012-07-241-11/+33
| | | | | | | | | | | | | in the high word of socklist value. * win32/win32.c (overlapped_socket_io, recvmsg, sendmsg, setfl): follow above changes. * win32/win32.c (rb_w32_getsockname): set remembered family to the argument when OS's function fails. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (win95_stat): remove unnecessary macro.usa2012-07-091-1/+0
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/configure.bat, win32/setup.mak, win32/Makefile.sub: omit Win9xusa2012-07-091-110/+6
| | | | | | | | | | | support. remove --enable/disable-win95 option. * include/ruby/win32.h, file.c, win32/win32.c: ditto. * win32/README.win32: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c, include/ruby/win32.h (rb_w32_wrap_io_handle): new API.usa2012-06-061-0/+38
| | | | | | | | | | | | | | | | this API wraps an I/O handle (HANDLE or SOCKET) and returns fd. the second parameter should be combination of O_*, for example, O_RDWR | O_BINARY | O_NOINHERT. * win32/win32.c, include/ruby/win32.h (rb_w32_unwrap_io_handle): new API. this API unwraps an I/O handle and close the fd (not closes the handle itself). [Feature #4960] [ruby-core:37227] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (rb_w32_close): of course, console handle is not socket.usa2012-06-061-1/+9
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* no windows dialognobu2012-06-041-0/+2
| | | | | | | | * win32/win32.c (rb_w32_sysinit): let the system not display the critical-error-handler message box and the Windows Error Reporting dialog. [ruby-core:45389] [Bug #6535] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32: VT100 escapenobu2012-06-041-6/+372
| | | | | | | | * win32/win32.c (constat_apply): apply VT100 functions. [ruby-core:44958] [Feature #6418] * win32/win32.c (constat_parse): parse some VT100 escape sequence. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (finish_overlapped_socket, overlapped_socket_io):usa2012-05-231-8/+21
| | | | | | | | | replace ECONNABORTED to EPIPE in send, sendto and sendmsg to improve BSD socket compatibility. this change removes a failure on the test of net/ftp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/win32.h (FD_SET): change function to macro.shirosaki2012-05-081-22/+12
| | | | | | | | | | | | | | | | | | | | | | | To avoid buffer overflow when smaller FD_SETSISE is used in ext libraries. * win32/win32.c (rb_w32_fdset): this function is not used anymore. But we leave this for compatibility. * win32/win32.c (rb_w32_select_with_thread): fix SEGV when smaller FD_SETSISE is used in ext libraries. Dereference of fd_set pointer causes SEGV. * test/-ext-/win32/test_fd_setsize.rb(TestFdSetSize): add tests for above. * ext/-test-/win32/fd_setsize/depend: ditto. * ext/-test-/win32/fd_setsize/extconf.rb: ditto. * ext/-test-/win32/fd_setsize/fd_setsize.c: ditto. [ruby-core:44588] [Bug #6352] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (waitpid): need to check the return value ofusa2012-04-241-1/+7
| | | | | | | | FindChildSlotByHandle() before passing poll_child_status(). this fixed a SEGV in test-all. reported by ko1 via IRC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (szInternalCmds, internal_match, internal_cmd_match):usa2012-04-231-51/+51
| | | | | | | | | | | get rid of a segmentation fault with GCC 4.7.0. reported by raylinn@gmail.com (ray linn) at [ruby-core:44505] [Bug #6333], and patched by mame. * test/ruby/test_system.rb (TestSystem#test_system): test for it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * win32/win32.c (gmtime_r, localtime_r): POSIX compliant reentrantnobu2012-04-161-0/+105
| | | | | | | versions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35348 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * configure.in (RUBY_MSVCRT_VERSION): define on mingw too.nobu2012-04-161-5/+5
| | | | | | | | * win32/Makefile.sub (config.h): prefix RT_VER with RUBY and make more descriptive to get rid of potential conflict. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e