From 7e25851a681e23397505ffe39123db30edc89752 Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Sat, 13 Apr 2013 08:43:19 +0800 Subject: [PATCH] Implement wait4 already exist in header 1. Implement wait4 by calling __wait4 exists in libc.so 2. Add wait4 to libc.a Change-Id: I08b6555cc50ee88358cd2ec63f9d8d2d4482305a --- ndk/platforms/android-3/arch-arm/lib/libc.a | Bin 3093736 -> 3095562 bytes ndk/platforms/android-3/include/sys/wait.h | 7 +++++++ ndk/platforms/android-9/arch-mips/lib/libc.a | Bin 3677338 -> 3679008 bytes ndk/platforms/android-9/include/sys/wait.h | 7 +++++++ 4 files changed, 14 insertions(+) diff --git a/ndk/platforms/android-3/arch-arm/lib/libc.a b/ndk/platforms/android-3/arch-arm/lib/libc.a index 1877053fcb8d6f1a88247d9a22e6bc332810e84e..67ff8189eca53179b4af8bb69d86afe40d3c42bf 100644 GIT binary patch delta 4517 zcmc)O4Nx5A8Nl)XejNA7-Ejxp9v2@SwM}4 zc@ZeCfh$|!J6&+iC@jx|$Yrof($0eiL-H zpz~TU>=B#n^TB?x(NHNI6q_8{jwE#>nTC;^iAbJ&q_h&GXw>y#U3Lw=LA>Chrv{}?Y+=kTLqa*DYM0y&e z7yL*si-Yu(AiW+&+E+}xf`+Jc$4oPrn|!^d$*wsbfLUEg7Tq;@<|cO=Mhx32G!bv>Ka5% z@uQ|MMGb5~&Fw(_h6#0U3F^gR)XN%CukJxtm)KCR4Wh0Lp;pwP-rR?(i^4m_qIUM=J5b=&y2=&7ZdkJ zGjacH!Dt8`FPM$-qNNy@j9}Cw5sX!J81GdvHWgs}%_zop|4EtDd`t;#n5L9s%5KIq zw+7Rdd6<@fX{8C%&7+vsk6`+l$UoeL=_!%_0{W4}`@NV1b9@=*)c+|6VO}I+p;F8@ zR$;zv7<2t<%$o-=H;dS={+K@vV%}Sg`P~}KA2(tVSE|KTjwO9Hmg!|!3aYVOm560o zAV%C1EbH2_Gz{xlwpLKI|vHM#O%(jrbN3i`v~ny#BUIeAK7i*zHZ&169}yOxR0m zW0tpJk6N3D{hmM*YQujs{L zT)TrY11helgT=V1#BJ}wovH_L2dZ(;9>M+1Fz%8~xREaC}UENC3^$U)w3XwGKo+^?i(kD*-4`Y4O*_`GH zBwyK0@)C{Ya4*SgN=d%6h2+L+lDD?SwAPaRl9=xn-s~g!z!1qJy?Ep%JkEYRsU)Y(}yOWs#;w)+JpIMzYC*1JB0R%So60$v;zy!KGA#e8X|aI19<)I zc&FR&Uf79u(GcEiy7AuN!@IT#Z*3Lcjg@$}RpWhP1h4q(Q8s;;IsH@%PAh+Q-9k=}zK{%c zYRr5)857+XN5%xx@;=}=tKMVUu|Bzza}w4Zk?B56=H+o@mamxXAs3l?w0YqWnQtsS zrNCkr$65D70uTLkvbO682%m!zn@s2>@`aq#1$burMf+0GSB>SyYX YeG4_oFjmp<*6(u~I^Ilan7b?gznTM~R{#J2 delta 4433 zcmciE4RDk79l-JL^OEMRP11zsrL>`~(3ZAT2GZLKmceF+)fHB~;*}Y>p6w7TV}*+t zS)W;@XzxH;S#h{k>5aN|kRd3z4l66Jn^CLRd2u-HT$MOFtRUFa4!iwBL@DoEcgx-9 zpXc}T|2+aR8jx0XA_e-8>f?|e@*-_2K-yA`)GGFG4 z6eoGD80ifkQokSR@J6Jg?MNrOkVeAD(h#yS4%uc$c4Z=aOOdBkBIh+C&kQ0L_9D-V zAYX4nUX+2nxB%H#fn3#$T(cW_RX_5*qE;{VJyegpX)p4Y5VF=ffZQ%4?@UI1dIs`u zOOU%OkzWiTzt)EQMkjKAAM#-_{OBn1Nhk6@3sB@z6k|1ttpUZ=isIdiGNl(KZwTd@ zOqAJ0DD#)2T;GDSD2TGS59KyHN_82^U3Dm{yHW0qpegs8P#VRsre>5!!zfRPrYFl$ zg7qlRw4>|~p&T4Wc}WcI^PwEtitzTA8V#-cgRavH|t(UQ|tNY!FQwT2MEO_^}9T zo7mhT@=q0@K3k6Zyf{%$2kI-`sIR|?`j!~L+ce{~AK4FGOc4MVHl! z?rIrbfrw{E(9LT`_pR2LQmqzU=_TAE21G3to2rY@)%eiW)}dRQk8WKBx~8(2M~Bfx zJt5+#CoSl9iha+up?hV;#c3BQ#<}XapdV%s7xl0+Cg>&ZxuKYsi->!(jktfbqt|7g zZ+Zs$Ys=6t8AM-GiGFPZntsCw`k&4~|H~ot`<<6$Q1dY)1~E)3!I0O6p(uc1VGf3h zVGPSgG2A_bVf`S6AB+0-E)07`{n9iHAB0XbCX`}K{oI^#j5mZZE-k_M{aTFoMKCrk z$JiRixI^SR`(i@<7!Ua|z8}E&aU&+B6O+9HQ~GjD`K6fV_%W54F!{VO;+|kyw;R(V z5lq`wVA`c^#q@jurdNZQ-WG)`V4hrzxv&xQf-vUAl`(gYV7_NQ=Jh3*TV{;4ZxHj# zAbU^&;Hs-tu#TN|+cDim{| zQNwy@H`XB&HmM7nTOMmx2et(tVOv^+ZDl34hkCF*ZYQy*fyCNQ64&`j{7IO^oz)~B zaFQ4?NS#{MH8_NH+<7{T6`8S~c>>`^C* zaIgZ0r3*)@7e}@qhc;^v$2WX97H!1g3*x9B#nChr(@~6LUmuR&M{vA8g5#+Cg$c)+ zNizFLN*^F;dK^jD)su8n2T6AperatvNoQ=RCFugR3nl-LIqia1b-4?0F6_p+#Da5K z2&caUXG1&A&3>HQf-z6m;p`D{pYV1s&LaajPlj;G&A4oRxKfL8-S82vC0Yd6ote1S z2+v;UKC3>O` z+G9SLK>ArS^fg?Bc7Ea7Z;~-ykDVgpifC8bck_rZvXCBZ3eQUx{sk{y*Y==$zE*WJnL>JyY0cT zo?S||F!eiYV!rova<1D!PE|I!$zLUR+AT5j#c_;w=HSY{?^#Xm#$)7en?UZ4x5z!P zY@D?54jAWtZQQ@$@)s~IZx_?Pc9Ll;ZA`m&&KTOci7Sos|8_I~t*g^txUFi<9jm#m zYR?0AIDW+7fk5G;aKunCERU2q5!ge1W!xCFQ0 v5t4<8LW+ #include #include +#include +#include + __BEGIN_DECLS @@ -47,6 +50,10 @@ __BEGIN_DECLS extern pid_t wait(int *); extern pid_t waitpid(pid_t, int *, int); extern pid_t wait3(int *, int, struct rusage *); +static __inline__ pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) +{ + return (pid_t)syscall(__NR_wait4, pid, status, options, rusage); +} __END_DECLS diff --git a/ndk/platforms/android-9/arch-mips/lib/libc.a b/ndk/platforms/android-9/arch-mips/lib/libc.a index d84d6b3d57e1994c7824112f25d6701474bfd854..6a85a6de2f14b2312eed53d59346668315a72308 100644 GIT binary patch delta 4609 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 #include #include +#include +#include + __BEGIN_DECLS @@ -48,6 +51,10 @@ __BEGIN_DECLS extern pid_t wait(int *); extern pid_t waitpid(pid_t, int *, int); extern pid_t wait3(int *, int, struct rusage *); +static __inline__ pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) +{ + return (pid_t)syscall(__NR_wait4, pid, status, options, rusage); +} /* Posix states that idtype_t should be an enumeration type, but * the kernel headers define P_ALL, P_PID and P_PGID as constant macros