From f1002fe6a375065c39fda2370103c34beceb13bd Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Wed, 17 Nov 2004 02:48:13 +0000 Subject: [PATCH] regenerate the sharedlibraries binaries. --- .../library/exec_pty.c | 20 +++++++++++++----- .../library/exec_unix.c | 2 -- .../library/openpty.c | 3 +-- .../os/solaris/sparc/libpty.so | Bin 9681 -> 9937 bytes .../os/solaris/sparc/libspawner.so | Bin 14902 -> 19773 bytes 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/core/org.eclipse.cdt.core.solaris/library/exec_pty.c b/core/org.eclipse.cdt.core.solaris/library/exec_pty.c index d012cfb051c..f2a9996582a 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_pty.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_pty.c @@ -7,6 +7,8 @@ #include #include #include +#include +#include /* from pfind.c */ extern char *pfind(const char *name); @@ -71,7 +73,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], dup2(fds, STDIN_FILENO); /* dup stdin */ dup2(fds, STDOUT_FILENO); /* dup stdout */ dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ - close(fds); /* done with fds. */ + close(fds); /* done with fds. */ } /* Close all the fd's in the child */ @@ -93,6 +95,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], } else if (childpid != 0) { /* parent */ + ioctl(fdm, I_PUSH, "ptem"); set_noecho(fdm); if (channels != NULL) { /* close the write end of pipe1 */ @@ -127,14 +130,21 @@ int main(int argc, char **argv, char **envp) { fdm = ptym_open(pts_name); status = exec_pty(path, argv, envp, ".", channels, pts_name, fdm); if (status >= 0) { - app_stdin = fdopen(channels[0], "w"); + //app_stdin = fdopen(channels[0], "w"); app_stdout = fdopen(channels[1], "r"); app_stderr = fdopen(channels[2], "r"); - if (app_stdout == NULL || app_stderr == NULL || app_stdin == NULL) { + if (app_stdout == NULL || app_stderr == NULL /*|| app_stdin == NULL*/) { fprintf(stderr, "PROBLEMS\n"); } else { - fputs("foo\n", app_stdin); - fputs("bar\n", app_stdin); + printf("PID %d\n", status); + if (isatty(fdm)) { + printf("Is atty\n"); + } + write(fdm, "foo\n", 4); + write(fdm, "bar\n", 4); + //fputs("foo\n", app_stdin); + //fputs("bar\n", app_stdin); + //fflush(app_stdin); while(fgets(buffer, sizeof buffer, app_stdout) != NULL) { fprintf(stdout, "STDOUT: %s\n", buffer); } diff --git a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c index 3c3db7926b0..9e4ef1b274f 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c @@ -90,8 +90,6 @@ exec0(const char *path, char *const argv[], char *const envp[], } else if (childpid != 0) { /* parent */ - char b; - if (channels != NULL) { /* close the read end of pipe1 */ if (close(pipe0[0]) == -1) diff --git a/core/org.eclipse.cdt.core.solaris/library/openpty.c b/core/org.eclipse.cdt.core.solaris/library/openpty.c index 8fe4fe260af..3d8e822776c 100644 --- a/core/org.eclipse.cdt.core.solaris/library/openpty.c +++ b/core/org.eclipse.cdt.core.solaris/library/openpty.c @@ -60,8 +60,6 @@ ptym_open(char * pts_name) strcpy(pts_name, "/dev/ptmx"); fdm = open(pts_name, O_RDWR); - if (fdm < 0) - return -1; if (fdm < 0) return -1; if (grantpt(fdm) < 0) { /* grant access to slave */ @@ -91,6 +89,7 @@ ptys_open(int fdm, char * pts_name) close(fdm); return -5; } + if (ioctl(fds, I_PUSH, "ptem") < 0) { printf("pterm:%s\n", strerror(errno)); close(fdm); diff --git a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so index 33ba3c70d6345e1f9f53898b0a487c5b088705f2..a5d848d0c579cad02271fbb3794d53e448d87ed1 100644 GIT binary patch delta 3891 zcmeHK?Q5G=6u7_Frb)IYO_szaE_JP%y3TDXHl0O_cDjv;g$?)CYJJ;=3(^mR zWIC|2$!brLDHH3EQNfo&rxclM$A;?%KWw8&g(4m6hk-+@3>nfnf9F2;iBE%nf)~zn zf4_UqJ@@_I^IU%F^2UL%YeWdqB1G`kd&&BoKO+Q-a0-d9;4iq;BIGS03@^&dwB8UR zFfODPA@b0%ltM}%cSF`gI5nA>`mWVDjXYc^e?^G9K}r`ff+M3&QCQ*5vQ_Q{(|sCA(dU{FSwI)Ad)byh`(}ntL?gu6eb|16j>^M_{jD7a*a% z8qS4ZF5^|>0w3oBocdNgOgV>_K6b3mnf5i}&hOB@hHC9FO2d{1Z#g>!K4`;-ZJ2kbWpmnw2W)uA zhL79u2^$_(IEOD9`&1DVkJ#|%Hau#>d7SJ3IM?kLVy(u0bgp)pS?))}K?}ow$inbb zXW=twKWY(dqlAU0(SU{LaMf7&h7b)FzJ<#`;{f(nqlK}Bnk*c_MPlIwA?~+u3$`BP zHXcDnh&7g?6Zf8lyD%~fcjInU_@iqR!>F)cqIO0Y_tHQ`Ep2moZ)jTEwG1P+O$6^?eAK98`_{v`xE6WWAYjeSBB*&I#Zbnee*e7LmQ76Qrn}ilH&ntH zlj6}8rw84wZ(m7GOkaZipf8>Wo*L41@qjHG^v!wD{oU9E%jr>1l^mc>PvWj8RsGb& zJnGG}@6x_1PlIl6;LSd@8Hb5!hBP> z+GZegkOc_Nk-r>*bK?&}(x|ry)_9JLCghd+%Exo1u27scv3Up|JfKdTY<@U#KbrR> z2Mzr0!5Q~Uy)6dtJcMod&A`m5M;BN<&S+eYj_nLom&iQr55`=xEbR? znheIAvs{Vhg9+z#pzBl_O7IJ<9M03aP|SIh`%Bx+a@M&7^@pOR+SVYTa4Ti&>fJmT78#`Bx@ali|A8!BfDu2jfpNM4 z$j=fU;6S(l9|^BCP}0rWb~+kP$t!dkB-lu^;gzK;$}xjGsXS6&n&`!#U!rtm?f*f| ze+D(ja--Nk0vigG#-X4aYf#{8u+$^Wkyy_Mpo0kx1@Fl%;8YGNq5yZvrGi;zc@IDOMnd=5lqC>ql{TI+@XgnI-jpyAoW4~vy`&2)) zn`xNwfnzt^FO0*d+yejCIM5H@3AWeuuW~4Ewv6!5Ouc(i2hJrDi`MuN-kI6+-iGn4{H1)-!DyA@R05tfNHc>YM z_?9BRP2E-~)B$QY5D#8QhVlap4ri{QA1ew_F`4!NRo)ai9l|4$!wn< zq}d}>BhAh^dDYk88%(9R`WjC|Q-bm|MI ztk7|`$iaLO|Fww!i4Kf#83u?@)>vGscjRy{+hbV={v&*oFw(KCBeJvujs%uKog;Gz z9P6Rq#7;GTlrblBgpS8dR^S^g9#_C{>>10}Z*z5i`7)A)3rgxLeXhT{3l2G`Q OGTWhdFLo3Ci zW!EY;eSxMPDWRmWm3)xawnC)%K~##^LPa8oh*+^zs0D4)QmD|h_BnIs#+yL@L5Dqe zo@dUPGiPRJ&djB!F0C3!l&>YCPNMpb53=ckJwPNv0aEyqe8H6wQa90bAMHV-w}|3n zq>K<1p%W>C_#rKj#Skeool1Wf8axMea-w}Z(F~BpM1unwQ7wX`ARQ2dOLHL$APo?= z%r>CaZ9tuc%=d7C^EhfHIIntCJb)0cex%%|Lah| zUrg)cs;19$u$>MyeVlJv#&7wemA?^HEk{f>P=)xgZ_%^ZGbk~70F~N66qV>YM2$L( z==5kt{|@xuqP=AFkGjhPF3YnIT`;(6cl7Ekcl%SdNuuhFXw93}^BAv}_xckpYtcuS zs8cZ(FYk@oQ^e}aGV$F0~nkNZ zpYY&Q9(>M&?|QJTl-u`$2akI2We>*8VPC)(gI)J1ZhG)-55D8UCy6pO;L`Uj(L#f5 z_^GRP+HKf3xcCpEMuX!}CtMuC_-U8a!>Nn2M6E9FAj-LTInJPqyOCa8ydG!P#XUr` zUA&WMj*E8_EpYJxqE5j$+$uhR8Muleq#cbvzICRQCt4~wF;7-Kk5$+48aq_}SmD8g zzrG0k*v;q4_p4Rh9bTahaDOrV`vB4s`8U;T&uMPvUr?CZVud@7Q{DY_m>sJHokB-ijIrg=dk{XJLe zMr7S4vJx+;OsP+JV`XmL4$mml1S6vTQe#%3Q7bQeyUQ`#?0_@dEz%~lh5n#}^=$U@ zD7>zg7Bg4Z>o(Vm@%p68;kDg(?Q%S6ue}b|Ubk^~RU402hxtZTrRwFoRhinn*5}UL z9u1zkEn}4xX%2T(-%_i2ckBt?6pgCyd1v%jb&5B~UR8T|G`30gbGyAj5%<_@Dz1o! zec#*+?YlE_+WtrtgkwYDcC-&eu(5>OgHA2U!p1JQ+aMi~JOsPg-U#V|^g@cTFTo!9 z*s4JtF*F4ER2Vzgt?gexED1MmF2hW76Bp(Y z!(P-y<~em9h$Ds#H_`tG^dCIbyh34#np0i%x})lE^FE{kkSA6yG7<6m3uGiB~bVbh3XevB>ZlOz`G11uo{Ix0kjVb(~&Rl3T z@2~eKzt7Y;%oL|?LVsiO`wZEtVBW9THOMX&-tgWBnw6eBpyjR&HEV^HpZs*Qc3~)) zr+FY+pK3FFq8eBuQ}{`|CMLb;zBYTz%*eVprNfme95d26R<=DJ*w*bS`g_=E*rV=) z(E1Y#FR_>hp>L~y@_@byEU9P7d^4c$7pKk=`&uUt;F~ptV>3FXSy#SQBbzhp^lLI` ZUX%P;whyn%xxAsJmIqr-@H4G@{soTD$+!Rj diff --git a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libspawner.so index 70f2acab3c1b58f5e7c3b7d21940c9dfc2cb4e9b..2d9da5cc8d3b9947e595299f9f86da36556955c3 100644 GIT binary patch literal 19773 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 E0XMSGjQ{`u literal 14902 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 nyAGx=6v09Js4}tePzyFvA&>s+ho%4e