|
|
|
linux usleep() - как реализован? Что может вмешаться в его работу?
|
|||
|---|---|---|---|
|
#18+
Как реализован usleep() в linux? Столкнулся с историей, когда вызванный в одном потоке usleep() претерпевает влияние чего-то связанного с select/epoll и временем из других потоков. Пока ниасилил почитать исходников либ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 17:45:30 |
|
||
|
linux usleep() - как реализован? Что может вмешаться в его работу?
|
|||
|---|---|---|---|
|
#18+
gbl37004Как реализован usleep() в linux? Столкнулся с историей, когда вызванный в одном потоке usleep() претерпевает влияние чего-то связанного с select/epoll и временем из других потоков. Пока ниасилил почитать исходников либ. usleep зовёт сискол nanosleep. В обработке сискола nanosleep попадаем в ядре сюда Там даже названия функций говорят сами за себя, и можно по ссылкам пробежаться. Все операции производятся над целевым легковесным процессом aka поток в линукс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 20:19:34 |
|
||
|
linux usleep() - как реализован? Что может вмешаться в его работу?
|
|||
|---|---|---|---|
|
#18+
Наткнулся на непонятное поведение nanosleep() долго разбирался, потом выяснил что там все верно (хотя он может досрочно завершиться ). У меня проблема оказалась из-за того что clock() в линуксе не дает время с момента запуска процесса , он дает сколько реально потрачено процессорного времени, т.е. пока висим на nanosleep() или select() то clock() не считает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2014, 09:00:09 |
|
||
|
|

start [/forum/search_topic.php?author=JustVas&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
116ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 627ms |
| total: | 815ms |

| 0 / 0 |
