handle threads on EINTR from select() in Loop.cpp.

This commit is contained in:
mwells
2014-09-03 06:39:19 -07:00
parent 82edb9814f
commit d9462e740b
2 changed files with 28 additions and 1 deletions

@ -1787,7 +1787,16 @@ void Loop::doPoll ( ) {
if ( n < 0 ) {
// valgrind
if ( errno == EINTR ) goto again;
if ( errno == EINTR ) {
// if shutting own was it a sigterm ?
if ( m_shutdown ) goto again;
// handle returned threads for niceness 0
g_threads.timedCleanUp(3,0); // 3 ms
if ( m_inQuickPoll ) goto again;
// high niceness threads
g_threads.timedCleanUp(4,MAX_NICENESS); // 3 ms
goto again;
}
g_errno = errno;
log("loop: select: %s.",strerror(g_errno));
return;

18
html/users.html Normal file

@ -0,0 +1,18 @@
<br><br><br>
<h1>People that Use Gigablast</h1>
<table cellpadding=10 style=max-width:500px;><tr><td>
<img width=80 height=120 src=/user1.jpeg>
</td><td>
"somewhere in albuquerque there's a 1 person company that produces extremely efficient, fast and insanely flexible search product. we use it for an extra-secret BI project and been up and running in less than an hour. with matt nearby is like having a top google engineer tweak and improve your very own search engine. thank you matt for everything you've done for us!"
<br>
<br>
<font color=gray>-- Anonymous Corporate User</font>
</td></tr>
</table>