Project

General

Profile

Misc #12474

Updated by naruse (Yui NARUSE) almost 2 years ago

## fork(2) 

 Windows already has related features like `CreateProcess`, but for servers and workers fork is required for source code compatibility of existing scripts, 
 which are written for Unix. 

 ## nonblocking IO 

 * To check socket's availability by `IO#read_nonblock` https://github.com/ruby/ruby/pull/1089 
 * `O_NONBLOCK` 

 ## Signal 

 Windows doesn't support true Signal. 
 https://msdn.microsoft.com/en-us//library/xdkz3x12.aspx 

 ## tz 

 Get IANA timezone name of current timezone from OS. 

 ## Remove a file which is opened by another process 

 If the process opens the file with `CreateFile` with `FILE_SHARE_DELETE` flag, another process can remove the file. 
 But in that case processes can't remove its parent folder. 
 https://bugs.ruby-lang.org/issues/11218 

 ## symlink 

 Windows has mklink and SeCreateSymbolicLinkPrivilege, but it has some limitations. 
 http://k-takata.o.oo7.jp/diary/2013-04.html#03 
 https://twitter.com/n0kada/status/570232516545638400 

 ## [Bug #18882] On 64-mingw-ucrt, File.read() sometimes doesn't read entire file (alanwu) 
 https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-07-21.md#bug-18882-on-64-mingw-ucrt-fileread-sometimes-doesnt-read-entire-file-alanwu 

 ## fd 
 ### Generic handling of file, pipe, socket by fd 
 ### fd passing to child process other than 0,1,2 
 ### Get access mode from fd/HANDLE 
 ### System side append mode 
 https://bugs.ruby-lang.org/issues/18605 

 ### a high performance selector API 
 https://tonyarcieri.com/a-gentle-introduction-to-nio4r 

 ## socket 

 `CloseHandle` should work with socket. 

 ## writev(2) 

 https://twitter.com/okuoku/status/670212493134852097 
 https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa365749%28v=vs.85%29.aspx 

 ## ANSI color code 

 http://srad.jp/story/16/02/09/0639223/ 

 ## ~~UNIXSocket~~ UNIXSocket 

 ~~We We can emuate UNIXSocket with named pipe?~~ 
 Implemented [Feature #19135] pipe?

Back