I am trying to speedup the ruby1.8.6 ‘require’ function for Windows.
I’ve noticed that for file that successfully found FileMon reports too
many such errors:
DeviceIoControl, FAST IO DISALLOWED, Control: 0x12043
DeviceIoControl, INVALID PARAMETER, Control: 0x12043
One of the sources of these messages is:
win32.c > rb_w32_fclose > is_socket > getsockopt
I decided to reproduce this error. So, I wrote a test application linked
FILE * fp = fopen(fname, “r”);
fclose(fp); // This results in rb_w32_fclose call.
But I do NOT get DeviceIoControl errors from my_test!
So in short
- I get DeviceIoControl errors from rb_w32_fclose called by ruby.exe
- I do NOT get DeviceIoControl from rb_w32_fclose called by my_test.exe
- Errors come from the ‘getsockopt’ function.
Can any one explain this, please? How can we avoid errors comming from