From 31d8687f674f2659c61e07857b6853291e05630a Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 27 Sep 2014 20:02:10 -0700 Subject: [PATCH] Add failure tracing to EvdevReader --- jni/evdev_reader/Android.mk | 1 + jni/evdev_reader/evdev_reader.c | 17 +++++++++++++++++ libs/arm64-v8a/libevdev_reader.so | Bin 5368 -> 9536 bytes libs/armeabi-v7a/libevdev_reader.so | Bin 13476 -> 13524 bytes libs/mips/libevdev_reader.so | Bin 5492 -> 5556 bytes libs/x86/libevdev_reader.so | Bin 5176 -> 9320 bytes libs/x86_64/libevdev_reader.so | Bin 5632 -> 9800 bytes 7 files changed, 18 insertions(+) diff --git a/jni/evdev_reader/Android.mk b/jni/evdev_reader/Android.mk index 30898f5c..e67e41da 100644 --- a/jni/evdev_reader/Android.mk +++ b/jni/evdev_reader/Android.mk @@ -8,5 +8,6 @@ LOCAL_PATH := $(MY_LOCAL_PATH) include $(CLEAR_VARS) LOCAL_MODULE := evdev_reader LOCAL_SRC_FILES := evdev_reader.c +LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY) diff --git a/jni/evdev_reader/evdev_reader.c b/jni/evdev_reader/evdev_reader.c index c003911c..eb90b308 100644 --- a/jni/evdev_reader/evdev_reader.c +++ b/jni/evdev_reader/evdev_reader.c @@ -8,6 +8,8 @@ #include #include +#include + JNIEXPORT jint JNICALL Java_com_limelight_binding_input_evdev_EvdevReader_open(JNIEnv *env, jobject this, jstring absolutePath) { const char *path; @@ -67,6 +69,8 @@ Java_com_limelight_binding_input_evdev_EvdevReader_read(JNIEnv *env, jobject thi data = (*env)->GetByteArrayElements(env, buffer, NULL); if (data == NULL) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "Failed to get byte array"); return -1; } @@ -83,10 +87,23 @@ Java_com_limelight_binding_input_evdev_EvdevReader_read(JNIEnv *env, jobject thi if (pollres > 0 && (pollinfo.revents & POLLIN)) { // We'll have data available now ret = read(fd, data, sizeof(struct input_event)); + if (ret < 0) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "read() failed: %d", errno); + } } else { // There must have been a failure ret = -1; + + if (pollres < 0) { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "poll() failed: %d", errno); + } + else { + __android_log_print(ANDROID_LOG_ERROR, "EvdevReader", + "Unexpected revents: %d", pollinfo.revents); + } } (*env)->ReleaseByteArrayElements(env, buffer, data, 0); diff --git a/libs/arm64-v8a/libevdev_reader.so b/libs/arm64-v8a/libevdev_reader.so index 4f9ea00be9c6fda77062a05176de450893d14dd2..42889536964a902de4ad2ecc96d743316d6339cf 100755 GIT binary patch literal 9536 zcmeHNYitzP6+XK|!LAyYF-E+_T+%tFX-Mx2@KKuOkU?4yO8vTZtI{kH*6H$UfNOgcBw3X)Lvz8V+ zx?g)B`dn}8H(ZuraxC1>`4Ht+y7JsgHwVFkL6c5H8lPa5HY!TQL(|ZfqAfsMfyTh4 zfq!LHn}6HR8w31~D$(lEs?Z)q`(L18 zG%~Nex*CrxBo%NaKLg?zez2id3qNbsbCl=%9Qd4@AMQH(elF3EQU4mmt?1Q_-=z4Q^~3TUDB=G`iF}d{e*tadVgiO-MEgqU|EPrjk4xzDoOxKD zRVwa;8rO)5n=ax1S_%IrO6b3({C}v%)ef40=Q!8%w`!f)g$NCKYKq6%%6EB;JG_q!2B1=1s!-gJ9_vpz)kC{w#b!YX? zL@J(0b?J#z@1d-29*&!b^=J9B!!+WirKfw%)LiVkETfYW=~y;77wbbQ$9@j^b{m-v zGuhIY$jl`!tXn!Wj@5Vtdv;ksCy!)#yI6=kO4PG4al_U}$J9+7FWGr*wQ|1`B>$@+S)!F|yJ;Ct8f z(~2JipZ6Gna~{5Tznk#z)e_;DyzAl1Uc`cehtGSGzy}^auSEhEJbdr^{gH?7-ODCD zeBS#6ZhH8#U$X4h!0*O}h$a^QsjXPk`Q3ad*l@KWq+OBb$Sy&4%#}IxRnTWV^j|># z-a}slJ>{XNKnI_3d^`4k2ff-ue*!w{q5lcG(?kCY^f3?p8R#=Eog=z{VdSsbcKtE* z1C+ZI1^o$VyOl0p*Mj3g@MbhBY7{BP&PI#->6xoDTBO)Qxen;$|DkjPzaH$E)Pfsc zp>x)1$k?V}+pjlJ!@Mr0(*rb? zd7A2e1)KdpXsA0HY&b|qR_-=d(c;F5;boa1Rb?uvcIr6g(ciTOF&d9(buER)pM-My z)=cQ~vi(7-oF0gb+0b$FdXFv|Do!APIN(q3rZMbW6Ejs*-}$5b2Vrd6F*xuNgW zMko3-_XlIPE|SlkftE4k;NEsM|v24Z_4cJHDg)$w9Lb1 zDw}bQ0?W0h__qmv-(7Oww)uN0#%B)#_X3{-J`MZ}$rWxCg03We! zyAPN_*3`hu9TYsWDzLn|!Qu1T$?fdFZQJ=y7F|@ceRSTAYunt_oMlg=O+elROpxzn zdGvw&C9n%$AU^{61<1Qy`_RteiqZM;YnR!@TJYXLTZ*wb-$kQ~nsyFXk5q0Ot*|OT zyd32~(JJEH-bZ^CdRTKgkDcMdNZ zsXbBi+M?I1Pgagr1YcnPSFc1r`m;oF>$C|qyN_B{u%j}RD^RXLxdP=1lq*oKK)C|t z3Y05Qu0Xj0<7UlyhC> z|CYjXe!=&n49?*U@GZpyx2%Z7=LyA8HPNC$zcg@#dy2k2ifQwI~c#gPE$=o6J%ecWC&u($2+4*zDF1SVoVjcgLYG6onJ1L{@i? z&ce8bOGqEijGjb{!d+>2aed$_t_MeB{xQsj=6T0cR82#Y`75}foQhoLk<53#vtS=0 zm-#LDT_xc8%uVcNzVUmN&PQCaGxkD zEcr_vTa~@kr_}#K#En1xi$42%D!yPoclCnA7v4T}cx{$p%K9t+8}aM=+))>7`F|l| zFYEK5`hSen87dC={bj)AXD9ZuKFI%TZmEDG7klx`XSu8*a#^nj-Q#2`Re$mGiqC%b xe;^?U0HWtopQnEa0mp9=1%)d@Zs#!{Uk%5xVUag?uj;o#E;Zz3qA&Ks{x4D6{(%4h literal 5368 zcmcIoU2GKB6+S!Tf@?d@Vmmkmg4cvf!K5owIVx#TvtE-JOj5Z9o`^JzcL(p*>$SDJ zP#jxj3wc1Qs@k$?kQy19po;ZNt*BL9sZy;b52#Y55QQ%gP4opaCsxo7U*%&C`Nd07htNI<8b5>t08T~0&^W`n8&6rtU;4$ln~baX$n zD*BJ!*kdkBFgX_Pa~(t%mHgskZVrMInrkOm?3m4Vv&wE(*$FPHp$JyPpzc5A;uWx~ zsB!)J@hdKy1hX!~*I>u-J}pR@dQ`k}<2$OxCs^LV1_auSrlV~{(D+8tcMcU=#$#?HW-9r*rARYpolNGa%RFHkvB3c&l^n2A$-YF+=uM{M$#kEQOb;E;8P;%P0$M-dI7ZdqGRjG z{|tJYhyDn3)IK4w>IQj>kMvUfBy}o^}`P-qqu{#^Owh8x*s>P8=!G?~L z*L!r;RB-|U!~uWtAQf5MD zJQm)gan8lbgI4qS0nwqwgOS2=HR=Q%&L-}$3iFPrdMB7xuNgW#vrZ>G`%@D}m@dA{&m`BJ2SiyQL%Th5NB6^5MA_aB^n*zhjOT_4<}uu+#MXhhfCI zr&G%v@M%S^wd@8R*sQ;>4~v5DRF(g-?Kp57@EgE!;7h=h!0!V;1pXuN*s^WcU<(V` zw!H`V0dNjj?t_8Xdq^AI8rWRZ1Z|=%s=f8lww*gdv^MziRK>oVd)?iM<$KUBL*5EZ zkaw{>x+;GS?AcF{k3xP0a_3GLtqpZeR8Fmn-@L{ywnO$7S`hg=ccW-+Yu7~0WYylO z%1qU7u0=Uew3;|K9_J|Zu=j8tV}X6=LQ`A!PHdmt=Bi$Iby?hob`R|j(0A@c(c12= zH*3yUO*Bl_oeO@icB)c~vj6$((Hp;&C~lpeMZHE*N3Q$-3NUqG3+_P-Lhta=yL|NX zik35BRMA1#&B~L%BN*g+jK4`3Bv;w<<$T-Xik z?=}&SfYJRg;;jHiKsu+lky?rWiWe({`C(~V@F3Z7L? zMK1G2<~4tFvJa8VJQjRb33%Re6MLCgyuO$(_OdPn%Q}FH1G2t_ZbpZ55qp`}f@NNd z+#i3Z&tBGv;5o<{*q+y_-=6(*PO^^u^YJ2NUXcAo@N*D)?eD4pf*WMPD<@KS@%e(X zm+_VRpCkHy`~5!qZgqJU9Pt%g#xMR3qQiTrq$&HP{O|GW``i)k9?m}%v6p@Hvih$j zb&_~~fBg_}?ZsZ!wfq+=s(>OFd-2PQh*d-``|5f1QILSl3t}&L7(%c8%6}XcK=j0i jpFXARTSY zMAYHHm&6%om@<-qNQz?#A~P6?S%@D*AQ2T)r^8Kg)Tmiw#Org~+i~en-{iT^dCqyi z-}jz-dz&sc?Ugg!<;2BMMKT%5Mww*YSGn2|EGA+YIA|i0KpmyP(iqy|U?i(?9k>he zF2otp2GYKBrRB1XC=NSXF!ZRvSTo{tYkTz}<`c!zTHRwN@w}90j^q+%MO1+27VtCT zJt@C@4<7XH@6p5y5IO|Cdln27wD;2)INEPI=rVMdM&E$$ z)94vV*vEp&4yY13UU&gD&~DV94x1-=^l@X`dm3c9NhK*v0wJ0boYv=K+JL5;r*y;rk???4As?dJ|o!qKCta2fiVM*j|7 zr`hrpycyap&V_yi@!K(3?r&j&UJ1QJ6My`s_D36RhNDMQ;iUw95c;epekwtK2|cQb z|Cpfvg0>eC)v6OT;`X*dn`nJ(#`$mr;E133UC`ao{QmKZ9)|AK=*`f2?hVC6zbn23 z9q50_AnRs3ovs$Qx3$UbY;N7;Z1Xm?_^7S5xtY8kmz$hUkJsDMDgwz>{a2^t>61~Z zbZhHtsf+x}(C>2KE*=170k9b0>{1JGxdWI3+ym4BQ-FBklbElHbg&Mv19t-p0pum( zF}Pq^w-g7Ff6~F17}sdB6vA2rWCJy-7q^3Et2R>=Fc;t(glt6hKsAs8R00(MZ*&fj z5Ad7Hh2LH-Qz?U}1O}()CBU74QEag})9{*37PB~>RxNl4(LNABl^&Rk@Qe!$Qb@;q?+%-r=7z|=Q@U~!>32$wq0Y} zCT)MmuskU`hG%GOlg2h`Y*K9<28bxJ0oV>}>`{#!(%4^X?DK5O1q3~lQ9Q73nX&cWBmz5%l%sgVjUM0zW_mg{B>jv8yFaQBDC0h1%CK`Kxt z_FoVF9SGN^7zg*(>uY0vf`9id{tVPlYmkl@W;&FK9b$=Tm9$RmF)f(4^tvHvA1tgl z25@MB9(?-k12Y}gm2U=34okz%x{^le$h^kegfelv_|3FnTKe@I)Sp$qF*nWg+o^d8Yr`INAOD0Y}IyQ|~+ zyxeb;iP3RuLuRyLQe(2LOnfnJ2`Llbk6RinlU_r})R6POX+^Re8{jk#P*vGzchorM zIxa-$6DkZXmmRv`;Ar^87jTDO1*(AcIe6p&Yk^diO%5si#wntML9;Z~j?7{MYVj8i$@iI zpQ8Bh2OkA*00+U%%zaXzkNL1ZKx53=fk&8+NrCxdXVHYSew*8~Z4I)p$4d@ZQ?th{ z`q9-sWgcArOfdA+Xf(JXB%mY<5o7s<2T(d2!r=b;u)dzJYu@6aY;^XrC6kZf#NQ^=8k{EVjuE;k8G3%gMP*Iq|8^UN8u8RDW z`0zvG?aB<%U6Go?8_L)(jwAjVzFdrT(fGBBRJ>2T81ZjKb`9?oe`t7pjE$NFa*W{w zu*~QOF8Xs{%HJ6bW_}u8%p)4vkA1}6Rc0-D79MPF)EoWTM}6)n{(&} delta 2917 zcmb7Gdu&rx7(b`$MmzWD)^&3aXxHH$ut(c%ydMR(J4ZBQvINnoBi5u#P<%{+5$F;T zW->FDv*@BzD)x_ogN$?}sH-kZEa#R|&>71X6$B?d^8c|NN5Q{hiYz0&FHJYq4n+ZkDM9kVbUD`zH_(_h;vb(J$lNT#5HF%BB41~$athJ%oz z#5Ley#D@_lM4%(A|3bCBp^ULOYrixqf&il|K7Bpb=z7KlHB1>5ZpvM=qhy4M^ z#RUg@0Nqx+@IqcvtW8gv;9}?=3l=JC9ji%*uYjI1#ZpHTXoL5?j! xITv&2TE{)eD_Dm?@}snP*xgOXtn zy>Jx{w<_hgpw%hnxC#3ZUy5%~|AGW^^rR~O%7XUD10IHBM%Cf71nq}T zLq_5g_#r`GgKjHj%&AQ9CiDO_PQ5&S5>B%ZI=1IJRsuZ%tz#==9oE2cUUtNEE3}qI zgBjS}=ral0y=xbH+$;Z3RYTXjpcVoTZz?CIlpuMt>J1Hfv5HNZLm z6+*UpJZV8rU^B1?h#S_*mMJ0wtN~DA*hZiZz*N~Lfb6jt%|9FHOvMf7n&Ftt8%I58G=5ll7n5;4b3Cq@RRHZl*( z#UB1jjx^L9VjRHh#7NByF;;k!7z2ihk=}oZk;Vuy(*A%LtJVgqLfYWbP)4vXs0)7^ z8ltqH>zhux&^tX89uLLa1M_W9?{x3H=$$^OYVT9EyHxF6st5&6z!Nl9*Iy&Um52Aed+ff=2Xhuz=k z&KRVmW^Rqnd4XT7}l-<0)p~}rqEO+ON=$uXL%&PYk+$lu=;>HfS|2S?` z)$F|{GiH<{t(KTIMY|9=N`g%m@@IylHqB^YCVbc+ z@$lf+U-V}4)Eu1QG(cM=J~Wo{auG0IP7UH156ciA=bYl_MYHKA{*lPfeUW?oZ|AsALdaB2Zn^I*5x-wc{97Tktwu zBU~}o2~E65;R6aE0#kMD15-hwJ5KdP2T*bHiN>1kJLr#y{-x-zg^Ygf=%*~vaxmxr z1@W-vq0rdRVH19|oAoq%!ZC3disnuz7x@lzvJ2C6iS>>WJ*}MJ7M%{WKK{K?(GNvg zBUFm79Ojg8DT+j?_}yWh|Bs~qM_L>iC5YPF0m?R|S^h(uWl_rOJDg9>ftw> diff --git a/libs/mips/libevdev_reader.so b/libs/mips/libevdev_reader.so index 6a9a39790644a8aeebbc6f73988b7dd374db31ab..4ea4b73deb7248918d493e491266df1e4c45fc21 100755 GIT binary patch delta 2230 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 diff --git a/libs/x86/libevdev_reader.so b/libs/x86/libevdev_reader.so index 7b7ed21496ba24dd1a72983920953df72a1c93d3..061a6b64eadbb2cd173d5defb0181e17149d2244 100755 GIT binary patch delta 2367 zcmb7FYiv|S6rOwCXZO)a zprF>eX32?06MmQ!5H%(xB?Kc;Vi5}VM~#N?gBTJNm(XBQ)LL4u-?@7)QvBsfzWwIR zd~@c^%-%C+LYdmMGDRs7x>X59*hNT86$OW%soXN)6@p>qL7xy3=&T>8$f6b<44W}7 zg9k7^fN_RC!5Fu|t@}9{U5j{G9R9jG@6l*sD8uBGR!M2vAO)oB)Gh@|6o(KCF*hHH z-2gYhR}H@eGluAMDNxwp6r$Vc{S>_;@OMdcM=EO^hih6s8WzsdF!r7B<1Qg)qRope zdu+TGzGYr^f=}GlRz2o#(*3@T@^6w-Umt0WCSpy|`j*(X`go$LH7V-r)kLB-CK75S zN{8htI%p}kVYp&Pj6Sj~UXh2;(*QeAkX=ShF__5>ummwVZC-XUf_He00b5tb1+qW(Et8lR5 zg!EclS2*ZSb#A(*X=pi8owL!pXbJKc@+BVtdMz0bCennnv||LDUb1OR{Y(9+)4Ze1 zjr*F`EwVvYVCwA;(y3&bz^;qCs)E?KgZ~D4kO4>!o$I>L{%+R&MU5)Sn6gbxDqGu=suD>gBJJY&wy4^+8lQlg(7%MxQ%a+*U8IyoMLgEhGP!46 ztGX+$zMMp`gxaRICU@wSaY#jO3;mMgk<(-JXO3U~aEuCFe)-%ORlEF! zUyNxQe?M%+KpHqZM$J$RkI`E$zvQNmT>*K{eY)&=+8W2+4^X9hDtX<0dEh=(xT|dn zHjYx#>@HF+=XeWh`n|rI3to54MX#gg8?WUBmmYZ#Ur+-ba|f)xQBCWmOYYg*hyT*F zA8?3A&|`U^X@lS(*!{Prg~8?ED0m5Y7x-=P``|(F8L%7KUj^?0TM);M^pvaLsg zjX)dlI`AHF95@YJ0ImQx0Wptc-%(p47L6n$bkx@?#c5q$z{#mHdT1{^PLy$ij^zcc zLud`rrMy{A-X^1t{(x#J;xT$@Mt-1!kBD(cFFJZs4~y}$aCyV?fge#^84YNg#$${c zgOP|>ihm@dfE~lk&@17yo`;N=vO^>d5tAw0fOamxuYmp>8hv6{wXj3WTQxu(@A+5e*H TKaA%q$eV_-K63!f^V$9ZZ=){D delta 1900 zcmZ8iTWB0r7(O$d&CX^w(@k^P)g(K!>E=QV(U{FvB+xEyTT76nEksI_w29l|wUoNr zD5-$7dR+jIwa4uq`eO;T4UdT$EjCYwhnX5rX02WKakRG_L`XJRU)SQRL)h z@DlP%$TLj%49+V+_ph0BE+9l67k)^T7S0yOOmXr_T~d$^NxF2DUXk?ZC9e=WFm@Y+ z{Q_Qwf6Vct7|~5%OM2z9D#UpwdKuA^K7newE!FQ?g?qGEh*~FI&ng|;25yG082La@ z+_BpJ=kK)rYp=?GNXn^W18KS{$LTwzf$k_f_6otBs{kMi8uR9K({`|2vDJw)L8vGL zwgBY-+AD(ef@d#POX?tG+XlUMm$_OP`B4ixI_XCTz+Q-2Va7B$W-Rg+Gd|Vt%#iaZ zGroq&3<>MZrSxdg`&9>XuRafTjReSw#S<}zeO*4>*R03bkW-?Ez-QVT0Rk`-@FlNntZA*w}h!ljYw(Q zryBBVh@MkxW&Iw#qjt)}A^J&ekv=BB?}&V>lAia)r2w2dy5Vb=4_DHL?_v2vL9NB@ zp`LZi8Z|{`@mmY_ns+S~Ymr`Rqfd(Ko;0zNj>G*&`er9H^#X#cAy~z>6%+B;1hnT= zjGmagd3A;d-(29eY}&!xd&r)hJ%NwOEy4IkZpaEv_&c{we#M28*Bh9QPtndmbY%Fh zWyRP}YU-%mr5Oh_HK{4H)d+O}ZzCTs%n$yX??wD`bo;yZ!bX=dr7mtVs{gXADQedq z7%)xC%A$R5A)?%~tQl|&Y=TqZvcD}W4Q>Pvfrr2!fM>unU=zFqei|!LFpmlD;Q7$~ z40!0;_u6Tx^`w2Lu6^2>1vaosSP6HO3gNMjkwnMhPFCGhp7TEBL`0 zL<&Cheuob^JOIWC5zm6}2lK_ot>$BgBOtO7dRgyj;k(SWHN3b8;wpi9AOY+FdVu4A zFi1A0>56eh>ZZP^?qf}iGc*p56)`T+7g60ahRMcgF}mHy>tXDo4OA`Ti7`cWwYrac z!FYHFLX4*zHXdCx2_L9 z_lWDV5iugN@Z2QV^2^ws0k{ENX#WGCj&FZgBah)1oC0_Z*YTaU02PJvxzDEy>iF|# zQP+(3Z<<^9dO@Ku;NS$gIe44T=kUw|_{E9=@JTB$cMSiLu)v3$9M^Tabu~_s3*H6z V-gm7#NKLVZ5XvvRAuw06{R2g+j6wha diff --git a/libs/x86_64/libevdev_reader.so b/libs/x86_64/libevdev_reader.so index b6f93fe92a260e1f3312798b08ceaa2557ddb38d..3a12f31278e9c60b70b0c2cf2cf42422fc1ca1f4 100755 GIT binary patch literal 9800 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 YI{*5?INWx&LF^;{7rZ3YIWN=y1=icGVgLXD