Давно уже волновала лучшие умы нашей конторы проблема — почему Oracle Reports на Linux стартует на полминуты дольше, чем на винде? Из-за этого даже в своё время от его использования отказались.
И вот теперь британским учёным (в моём лице) удалось приподнять завесу тайны:
(gdb) disassemble rxmrun rxmrun+50
Dump of assembler code from 0x40398cd0 to 0x40398d02:
... (не очень интересно) ...
0x40398ce9 <rxmrun+25>: push 30
0x40398ceb <rxmrun+27>: call 0x8054eb8 <sleep>
То есть кто-то из индусских жрецов Оракла просто написал
sleep (30);
Интересно бы посмотреть в его однопиксельные глаза и задать ему пару вопросов.
Здравствуйте, _Oleg_, Вы писали:
_O_>[q] _O_>Давно уже волновала лучшие умы нашей конторы проблема — почему Oracle Reports на Linux стартует на полминуты дольше, чем на винде? Из-за этого даже в своё время от его использования отказались.
_O_>И вот теперь британским учёным (в моём лице) удалось приподнять завесу тайны:
Наверное, код для Linux портировали с виндовского, потому что в Win32API аргумент в функции sleep задаёт количество миллисекунд, а в POSIX и linux — количесвто секунд
Re: Oracle Reports на Linux стартует на полминуты дольше
_O_>Давно уже волновала лучшие умы нашей конторы проблема — почему Oracle Reports на Linux стартует на полминуты дольше, чем на винде? Из-за этого даже в своё время от его использования отказались.
_O_>И вот теперь британским учёным (в моём лице) удалось приподнять завесу тайны:
_O_>
_O_>(gdb) disassemble rxmrun rxmrun+50
_O_>Dump of assembler code from 0x40398cd0 to 0x40398d02:
_O_>... (не очень интересно) ...
_O_>0x40398ce9 <rxmrun+25>: push 30
_O_>0x40398ceb <rxmrun+27>: call 0x8054eb8 <sleep>
_O_>
_O_>То есть кто-то из индусских жрецов Оракла просто написал
_O_>sleep (30);
_O_>Интересно бы посмотреть в его однопиксельные глаза и задать ему пару вопросов.
Здравствуйте, Michael7, Вы писали:
M>Здравствуйте, _Oleg_, Вы писали:
_O_>>[q] _O_>>Давно уже волновала лучшие умы нашей конторы проблема — почему Oracle Reports на Linux стартует на полминуты дольше, чем на винде? Из-за этого даже в своё время от его использования отказались.
_O_>>И вот теперь британским учёным (в моём лице) удалось приподнять завесу тайны:
M>Наверное, код для Linux портировали с виндовского, потому что в Win32API аргумент в функции sleep задаёт количество миллисекунд, а в POSIX и linux — количесвто секунд
+1.
В комментариях к сообщения в livejournal кто-то тоже высказал подобную теорию.
Re[3]: Oracle Reports на Linux стартует на полминуты дольше
M>Наверное, код для Linux портировали с виндовского, потому что в Win32API аргумент в функции sleep задаёт количество миллисекунд, а в POSIX и linux — количесвто секунд
Т.е. меньше, чем на секунду не усыпить?
Re[3]: Oracle Reports на Linux стартует на полминуты дольше
M>>Наверное, код для Linux портировали с виндовского, потому что в Win32API аргумент в функции sleep задаёт количество миллисекунд, а в POSIX и linux — количесвто секунд Т>Т.е. меньше, чем на секунду не усыпить?
Усыпить. nanosleep (POSIX.1b) или usleep (BSD 4.3)
Re[3]: Oracle Reports на Linux стартует на полминуты дольше
Трофимов wrote: > M>Наверное, код для Linux портировали с виндовского, потому что в > Win32API аргумент в функции sleep задаёт количество *миллисекунд*, а в > POSIX и linux — количесвто *секунд* > Т.е. меньше, чем на секунду не усыпить?
Есть usleep — там микросекунды можно указывать и nanosleep с
наносекундами