From ff85af080679dfdd2a8098923b6900dcefcde465 Mon Sep 17 00:00:00 2001 From: Kevin Lynx Date: Mon, 15 Jul 2013 23:01:26 +0800 Subject: [PATCH] try to fix high cpu usage when no hash and no wait_download --- ebin/dhtcrawler.app | 2 +- ebin/hash_reader.beam | Bin 13420 -> 13524 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/ebin/dhtcrawler.app b/ebin/dhtcrawler.app index 1779ba2..c0369a8 100644 --- a/ebin/dhtcrawler.app +++ b/ebin/dhtcrawler.app @@ -1,6 +1,6 @@ {application,dhtcrawler, [{description,"A DHT crawler to index magnet hash to torrent"}, - {vsn,"a82fa71"}, + {vsn,"91731f7"}, {registered,[dht_crawler_sup]}, {applications,[kernel,stdlib,crypto,public_key,ssl,inets,bson, mongodb]}, diff --git a/ebin/hash_reader.beam b/ebin/hash_reader.beam index 84acce2ea4367375a8ec892ed9fa52d2b77b48eb..2d6a07e0406a1621dad6727fca62e50f24a6e299 100644 GIT binary patch delta 10026 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

*0%E#>99D@SFFC#$W< zr)}kvKfQ)_yqvzrewcpSQL=^(?D(yv;a+2p*qWAT`XNEBxy>=LRTQ&zhcG{%Tw5Q) z*UTB=>CU$<*|PS$L3jJg{)g3Zj&HYB()*hV=)WudyfgOi`^C0$CMAtS>FxNhwLF1L zuKVn+yF6e1I#~TrPNgUBf!FeOHDoxQQkf$6l{VeIX%i<)6t!^CsF3u+E6;_Wf~bhfFbNQE%k-Y3j7*=bNWFwH#*LL=I|akec)= zS-HMiusI`ry!i(tsv6WeJc~!GEDj1@lg-HBj$f8qUNtf3DjeZ9zX(f+7p6^iuzicI z?NS+BFHqUx?yH8WM~Uz1jLi4^jF!xjV&`UJRo2SXGKz@&ZqX=uC09OznogBd*&L_DC(FL8+}Z$M%}?$R>$m#0 zI_8rz%Q;Xqj{eOShzeQ0=L4K;VW=Ed=2h^JK-+)CVU&d1NXxB;0N$6_z^s6 z0FS}r@N@VD{2G1>Ps20t9J~lG!SCP?@JILy{1x7Sx8NNGqymcqs{)$>T7g4>Qvm~S N!;=UJnvJl;{{an{?MeUu delta 9964 zcmZX32UrtL*LGqkyOBU3^cs4HARR;lp?B$BdPhL2f&>v!1RFshG*P750HrET!2(hR z0Tl%SK~$O|sHp#}&+~r&dwt(tduL{6&YZbVnX`Lc84LLo%xi38r-DMM`5PGNTj|F} zMxam(11J!37abrfhq3P<9}k(dK*q77XACeX zaRUrq)c`}JkZ^qBy5cx6xv`1G<OhBNk$r)m$qocERteZ52W(;2#z_JVk{CSD0LJ8*@es#f zYiNmBd2|>}AL6HVV3|}!46#JA1dvb!YFyEf2$_@c_gM*O0X~*Od@RL7#;W0nSRzgo z4H0QuSVeRKO>(y?vz#7I91V%m4(?V&AEuq%Elt&x$BF%;l3jw`kPfLL?m$CgWHsPh z@&6S^Z(z0rFbiXVClifH7!v~%thxySj7kDCOu-5%I;3O{T4_3@2ArcoLPIim66xO{ zhyzJkI;0L}G{KCVHcm(pSgnX51FJ#ik|^>xMb!pYvMm{-CWDiw*|MmkGyd9M#)6{; z0$bTZfVCKiI8$J>9!>!b$&)D(bVwTvDbpdHV~i+>Q-U2ZP#~)j$QW_5KJb+;L@Fbr zAw@d07a^%chx7miZ4fzSZJY{Vpz@c&-}57nQxR`qA(26v6FAALK=;1C0pld#=+J)P zWG;Ce34_(8Y2#$kd4L;%7LOA|lV~)+hW_{YIgZ0Z6Hi9L5D&(f1dajTguw*xHss_W z0uQLrAtQvw9y(+UXza5^L#iycwqQdFvLRVqjZ6TMFhRE6$AD9#kywTK)%G)JkONSi5fCccDo;FS&97_GahmrzHg}ppZ zpVGi$>kXKya+1X*$oBs*bwqLoFx>|ZBoZGdkh~&jXdgn^08j=c>HkySk5DdQQ$V-V z`q+q6u+e_9xGI?-PL?3BO8^7tkPE0VhG>XPhg?BCFQ~DLlMM-f1L+C^35?UHLvF|s zGyr=c*+!v5?z=cPfG$H4j)Igv3OE7QI3uhL&KM0DY2zrWIsiliRZt{V@v7uq6ee4o zDjK31|L-{p8Lj%yoCzKB0KTv#q9IcjP+l;cWb6S@&lu>C=RZf*3>asI!GlwR*!MTd z510@@p$tNiImO9XJ5@5)9%LbfjCBBZc|o=i5oj|53XlXar$f|(UcCvBV;W-kWk#Y6VSd603QXvl+B%E3+b zB4GXHabBv}0Pssm13&gA5CKmlA+8bs`OUnuvppRs{=Utck$$)BrjZ3m682exNok2qag~-{J`>5)o9S zAVLFhEgg!p#zW$0D2NWlBf$@*qrjq2utNx$14BoFSqU^0`p+m(6^3N{-w7fliH5@I zPy~<<2Qv|LC;>=Ip`ko4kcM%C-7XbKj zLV<596dC~ec2WiS&$!mVeM!*j{M%;+?cRU;$XY!Bd3A!OVf0J$sytN@U4M*t^)|7_q6`pD%8;01t?4grt=K;#i} zVgIX-$T))iQQ!;mf0RaoK7&zWlmi$-EJGHC{yUE-K>EmqC=Uielm`L?0U!#!{{_-V zNF4+~WLyC}05AXudE^<9u>$*}oB$bBMey0OjAl zHfZ$$kV_L_9{}PVB!tKuq7w-GV6aWw*VH%monR@8oC&VAfwTn?` z0Z|nWfNcFApP`X)%aB;aU&%o1dSY>eou17@GK-$Wg>4tvT;->xM3vkM3}!b$VTU1I zE+(i@?Wt$Wy$jric{@HSy9O(+aH*Y`ThiOV{}sEz*OPdYII$lD>Rh)#m|0R{ua+d^ zCBLYmZmY-xhf|(?*I$^aIXtxHx+ zcqT}TNm{8x-?nNzlijM>f?KULwJrqtG*dt!u^S@n**aX z-10rKwJrm)+>5*1a{s0}pXo{)ez#`aw)LM|Z=bb2T;g^O3s2}2bh%mX*nWvx;cOz< zd+1lxmSWpt%JjHb`XoNH1?zrJ$TsiiktEGh35Dh-)Ght^ADH5A&&4bw{XiH{f&fS$ z|2u^L6E<2DpD^As1)X>Qvg_@!{-C;$%KPQCQoeRZRv(m)B+Z-Og4%NeBw^%OVsVA% zv24NKOP7Cr+Yo}DvMc$sIBA`Z=<-(BcPN6^sC`H46z-GCp2Y*Jv8yY|pS})1|5&e0 zf^_|qh!S0Vd+HhbnPeeRya6$L>S06p?0ymi<4;8!NL*l%_F>4{#UXvGc7N@gq|Kw> z=4?5WYM0xOZthE2b)-5bB;B31E?IGHyrJ%}sVBb})a>D8USXGItozyF_QFrEl;GD1 zH#Bs|wTqRt%Rl#yDc5?fmBa(FJ(T^ z)5c;B-wNv2_e|?ckf74ejj-y*nNQM$26ZK0>DX(;xpnAD)mS%7yS2_URTldMH|se> zPj}_s%qS6zd6sYDZ(`H&Nmu+_P)SHd_2e+y;JII2!hKjC{+Rw7s>SL&L0VyV`>hpu zg_Rd~?z=ao7<0<0k4c@1T{M4@I9{K^-2~O>Ho24vzMZB{TlrE)P8v*#`+s2ZnDO}T zd}Tw$`AO_8r>@q?UfX-6Zgk_g(Sqe?tqY+~wD1cal4sPSOth7aY^m~`*u;wc&ZWLL z))y1c`uab%I`Yb8=1A1>#Sqsa3(!ORs2`p#_<2M$VXq}N(Dc6T$s*Bp17hJ=pFwZR zm6}T@XU%oy*KVm$`+2(KI|Sb@oOd=q7uS)aoV%E;JHEorMOnX7b#VLk*y$I&-)(so z#oyT{PxL<$K7TZ|6@7g-@%nDHZpQd!%O`U3l$J9;coGLqJLK?;0&BZu8oZXo-uY!c zI2kWjc0rL}=H)=0SNiF>rSnyu*Btj_B###q@WVIBz86vOGC#Gmha9^7Sh;>Eb2h?t z`})Vg*1pMyjc1f3I-*3so!qT1$-X3ZWug4;{kL(otol?^LteGM1w;A4dkYQUzDgFhE`5S++dUq2 z+%v3y5o@77ZKu0Q6@U9GPf^$X7#Cl`!_i=`r62hh8a>4-mG70>%SPD8<}VrPH+oc> zihJc>B(+%v$Mnh3xOQhGU(dg?CWpbH8(*SipPg>k^}ZTB}hF`;(`N0Tlo$U(;!RLrY60$Xice&5SmF_)RX{pJ^2fqWLlkjy7yxoZj$%1JH%0+COcgmh_E2OZA$Uq z;M${hf$gA?&yQLXdEC-jviqx}*2y!MOOCJTQ_iC#X8BXl8U|xtWmbpP)t-(YExhht zWEgwd%<5f6fG@+qMD^3#DrMjK2bKyYf;*V>V|u>2StZ_7^a*)A;t?Gb*-`NyY@No{P_7fe6)(Xbfsi5EFF zrJ#Ol>X=~QoiV|{t>}VjO&f}&w}#Z5N)dl~H~CN^1-;@Sf4} zi4UQ_txZ}4U0v|-F_qXg`4chUSR=li6k}8tv^+*C@aBM1-BcV@ zyj4}@0dLmX4RzYJU33>7JYUvyj{ULp1!Xsz8f=qP=&kHwvDBV#J9Uk65{yc1a%&g}dWs)j)L%e~>aa=1?MZE4Hzc8#B1;h}o{@T+@Kt1-reTg*x7QC>ng^y4jmE z8}H(JdL~rduY61$c2WPOHt>x$ZQCiMICD5dFTqkkVdjmEG#XPmlS+{_q{=q|gM-fon$VBMHUG^vY=SwY=dkR__OyK67*lC7Zko(`?D zN4!K&@*662ojM;o{~+smN3){h5W(S$AgVOJymZHyU37g46F(wACzNkWguYN!X)fKb z(w2GQjephPt;9ovHBNC6`>}JsEB$Z0LJg&AJgcjJStdPwA&TiP`Z7AgdoWd__RZO} zBGjc6A$5T{p~9um)t^CHIpHH3ZvEM3W&(4xBaLMnDMi%JPD=^Rp=s_F$I@r@#$xTp zWna05Y3V?b=L0xBBY5USY#+Ga)Y$mxwv%M~Bvx>M6C=G=r!TWyCaf2n{=|E?fUFkhEl@xCtn!o!B{Bm8pceiGmL zfHB?^F_)+rhhmusnmURFyaGa>j(s+aSv>7HZ~XjsHBIEWLS)fFp>+=cyyN?rf zp(g1Q{BFM$4f(zMUYTycm3pBQeyR4rPQr(i0W%Nw6pHyx$~_mW-lJ8$=MGex&05Q{ z5WwL0D0YBFz=2Px+9gz}dXI-~{g{VsKuei#O>0?S6jlEcz3K`_8kV-MZ*=w|{koc3 z^`1=q@w7~K2l{*&N8!(qsJBH;hDYq?D01ajB~KX0VZfarTg2HdRnGtR+QQ3RhqIBs zwd=3cr$4K{9eRC8U`w^=$|H@iLq!AO?ewQFh8v1zFMWT1?Sa_|OAQpCON;BZ9}U~~ zVHWjufk&vJ5u&Bx(E&!A9NI;Lv#*wlFC5X^VGQexzv(1U%T?X0;oE-*oz`^n^=K(0 z^pc+;qOTvN|0 zekI-)T$%jzwE*%DW4KH$UA`Bs3uWn2<^Pzmkw6$Zox-a`qjL)xc zC&w}{4)0~Nx;zoncZK5EobA?Tam$@EyWVQv_F7?bHNQ-*lZierb;)?P;K!23nFGV0 zdQzW1D5|=leC)RQw^ha%cB7WlR|6f@3>qeP>1MU0Dhz^#UpEWX#}XsL@iPkX+}fY~ zYqUQp9G-k?7c=QPUq=H;cISytP&DvBm$l_1KWTO2Xiy$MDM67=K2i0% zAz(rTmpzeoS&TfPXx^^GPm8*?_{dSNEw85f_n9M)lqG7GT;+yObLmwO_gWDn$9ZI> zb>HWic#I{OcNF)#Ei}k;oEvml&)qgC+x5wTbT^rK}#{~axbL5Mf!>%!(J;KY?D)(E>DOUz9(%ZmW zp!!SB73<)YDpJ(w__{}G(%N^KU)6QYXeDC>wz7O?Idt8*+Ad;qvC!>F>fz>7=pDDqv;ke(N``@Ww)y`nlEeU)%e1-s{}TGU$riE&3|WX0FTl zF4Ikq=bY*fqr(*Ol^N`n8oSeLLegsh>jz`cv~Jcz_H+1*iud@+N1`ki1EQ8^DZF`w zlmh-!q(-C!_<#~X8snul0^aPEd8bLB0zmc_#=KWrV-xuo@BNUm7EX9+3RIPFifiEb&%L$ses7CfaCIf8NlyNnM`lKa_Nn zzZ+kCb7^O#d)i+-S+mShaXKIb^~>(bbf)`y(vp1aY%-ZTnN;^;MPJ$MwYW%*=f_sR zYDxXCNlzPA19IaduU^|?_uF&z%_*byA=270jUzASIwo6|msREL61oK53aJX3uMCI1 zyci|Zig~-e;(aJNq4rJ5)%%yE3sTRg&6KP=E?XyW-Fx2hbNcD)U%&IN6}^=jzZ1v1 z9%p5%Nxtz$?9~`Gx~XOew3~JxbMr4oEK3DWOoiJoHsCA<0*Z9J@j;K~yj=7W(Saj64DWtpSiN@x9xVTz#cBidp@nHV-bEcHV9SXO8_!-Ry^OP3Z^!gkY96+KRx-NNUnza+-d(w|dpXvu2`ZYDt+2MA5w2G) zMi%&r+sod4 zj$`S4Cm~(Sd$rhC;>)*A z76zWLoDx6JLoFU9?cJHAoFjgFw$t=fxNZFnhVoLTN%;J&-1*%`PWcBy^pxD&IB!2b zYyL4>rzCv)ta^rV?AxVWlVr8Zu!xR%2mMRV#O7|xM&X6u+~K?He5Hb?)buy^fZJ!88es6DSEi}-n#o?99Pv`=-h(e* zH?45@TB^lH#@?uvS7tQRvU*Tq6DmbxGO%n)-7ve3VVam%C`-0;56IcrQ%buQDWQX$8SCfQQIsz99$px>R8{)I}FV<>XpAR z#`XqX$sP(7E#(q0gm1j6?NH4qv|;NRIH#4;^iGTF#bxvLM#SEJH1$C{=FH+O=TMl}Q1gqsOZyy;C7McMDgDZ2VXnqQ%HC66rlVi7Y#;D6LdqNF ziP2JeoxyUml3KkMg%cJ#oL9e(MPa{Il7{kJr^U@&P;n2oYs`I&Ib}Zz!*ZVi=_IKO2&-p3u zjm2*Ms14j$ezvuCo8uvL^ApDC`M!Y!k-HQ7^qzJ^o#J<@*qBSNtGe!c#Bt;OpM7P@ z4b$IYh4KpJV=G$>PF1|emdM^3_Ni$#2s#6X-iK7D8!*$>PqL~%8uO^Qa&pkY z_sa9M%mYi_tL1Ovt?~P#o`7wuI9pp?L+wPpNyi;(SSl(e>z8aU@ z@U@NDMh$T9)yI9j=Et|tm!dbGvZF7?()JUVJw4?8DMe>JMGw3bwaSVd+9v-U(^uG3mlsR-M!Ng71YHVwvmtS@}b?pl=tiBr{ipLEQ$~XBA@c?n}h! zaAAictLMh2)K)1oYN*I4HohF8tGcf#v7?lu)KdaK--vnycOK9GlcDld;L*lHLH&9T zo5%(gbK8p}BGyx6{p_H?(mS@W!BYet>g0uwB+nfmQq@N0!&%p=ckKPC?ehck*Nxw= ze6+g%LNlasBXBf^+a&eDxfzdS!*hVrDeV7|#&%18K z+zEZre7tGAjPYCb?YG(Nfn3jbQ&(Y}le)ro(`@=GdFt)Rv$rY%JXX^_z1Iy);)>-w znWn)%XPxDjuBVu+ewG46N8hyz*%9pTo2aAi&mGhIbWC^Cum1Z0SMP7jouT-qjC(%Mejnp^UVXJZ zt9Gr7jbl>fw%f7Ps%>IQhy3C1Y}m3x*nnTFYa>oi<|)tSDa4?jMN0S?wo5ay&WAbi zLeySElZZL4^73Ib@b!6~zaUBtCd}J@Egd^R;M`|dB2vF(>%Tp}5Bu@h_5V+3~2e-l20zeup)_B>6p_56Zyk-vur%L}s3Uki4t$S7zn*wN10*OZ(jQ;$^un;5ye8_W$B@jKBO&o^GT5 zxk{rY=YZ9`{D@Sb@M634-dW>3E$fwpb0#`=p?j^*ro7IuX+pUlV;cWL5ByFi73*=% zSK+Cpw$Ax?)NMLl{_vH2Q7yWs{k!o4#x_PRgM_R>5@!S5RwzR%?H*Ug=;N z`%cYUS?!c;oNvAwl;y~uU~9kHlFH_D?6L8{$m8^T87FB!UNpD%=Xv$*Ebc6iTG(&w zcbV^b?&tme+&8Mp{WV<~uR6Pt(e>LDMz#5`IdyaVN9HAt78kQIpQ^i-@lG;X^Sos8 zDIDSH!?EXY?L8n$D@JZ6snETXS^no6>qOi#l{({>(E!yPu*9{n;_Hl9x43b#wl`6#^wXjIq(J($u?G&L{`#8#MF99ULoM^Q1hfDXG3Av>vRv zkDaqoD*3tcvg75==bf3$FBKmuzg*w?l_s^5*?GF?N1w=MvvrzCt(BZdu7I8h(rnA|3C*5^4dj5DVwTy4#=7{Mxg7g8Aoj$X%bRHA3*SQZP zY%=tPFjCjBAKRCJYjsRH?Yq0UeAn)6X2zTD;*o`(bb50(8~^Fz36at~)6ke-aD&Hc zSl*J`L1`+HW0Gq%Wh5tQ^V109$vM{kbF|%mnE#y9V6zN46afBpk^+Bq{O77i{vk`G z-B;a5^@4q1bJzm5gcV^W*dIOs?}hikL2xh}0*At3a3mZBC%}pDVK@ekg{g2FoB^ML zPs3SoHhc~~0bhh^a4wt&=fiZk5H5mq;8OT9Tn1l-tKe$57QO-Bf^Wn1@Ey1jZh~9j zHuxUg4tK#1;8wT?ex?Htz(epDJPuF7ui)44G&~P4z;ECs_yfEGufiMfS9lBFkwwX( bWp~Lk$}-EsvJkupkDx?o$N5FT|2O{+EU_C2