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

start [/forum/topic.php?fid=57&tablet=1&tid=2019525]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
175ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 441ms |

| 0 / 0 |
