From 6c5788f39976ac9f457d2c96f7c840c4b08ca6d2 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 17 Feb 2010 11:48:28 +0000 Subject: [PATCH] Bug 248071 - Improved pty support for terminal emulation Thanks go to Mirko Raner, Pawel Piech, James Blackburn, et al. --- .../META-INF/MANIFEST.MF | 5 +- .../os/linux/x86/libpty.so | Bin 8071 -> 8132 bytes .../os/linux/x86/libspawner.so | Bin 15895 -> 16418 bytes .../META-INF/MANIFEST.MF | 5 +- .../os/linux/x86_64/libpty.so | Bin 10927 -> 10321 bytes .../os/linux/x86_64/libspawner.so | Bin 20161 -> 20253 bytes .../META-INF/MANIFEST.MF | 5 +- .../library/Makefile | 4 +- core/org.eclipse.cdt.core.linux/library/PTY.h | 13 ++- .../library/Spawner.h | 4 +- .../library/exec0.h | 12 ++- .../library/exec_pty.c | 57 +++++++---- .../library/exec_unix.c | 22 +++-- .../library/openpty.c | 32 +++--- .../library/openpty.h | 6 +- .../library/pfind.c | 33 +++++-- core/org.eclipse.cdt.core.linux/library/pty.c | 28 +++++- .../library/spawner.c | 19 ++-- .../META-INF/MANIFEST.MF | 5 +- .../org.eclipse.cdt.core.macosx/library/PTY.h | 13 ++- .../library/Spawner.h | 4 +- .../library/exec0.h | 7 +- .../library/exec_pty.c | 42 ++++++-- .../library/openpty.c | 14 ++- .../library/openpty.h | 4 +- .../library/pfind.c | 6 +- .../org.eclipse.cdt.core.macosx/library/pty.c | 26 ++++- .../library/spawner.c | 18 ++-- .../os/macosx/ppc/libpty.jnilib | Bin 9896 -> 9484 bytes .../os/macosx/ppc/libspawner.jnilib | Bin 20540 -> 19028 bytes .../os/macosx/x86/libpty.jnilib | Bin 13760 -> 9868 bytes .../os/macosx/x86/libspawner.jnilib | Bin 19472 -> 15596 bytes .../os/macosx/x86_64/libpty.jnilib | Bin 9320 -> 9896 bytes .../os/macosx/x86_64/libspawner.jnilib | Bin 14872 -> 19800 bytes .../META-INF/MANIFEST.MF | 5 +- .../library/Makefile | 4 +- .../library/PTY.h | 13 ++- .../library/Spawner.h | 4 +- .../library/exec0.h | 8 +- .../library/exec_pty.c | 50 +++++++--- .../library/exec_unix.c | 20 +++- .../library/openpty.c | 7 +- .../library/openpty.h | 5 +- .../library/pfind.c | 42 ++++++-- .../library/pty.c | 27 ++++- .../library/spawner.c | 18 ++-- .../os/solaris/sparc/libpty.so | Bin 9872 -> 10608 bytes .../os/solaris/sparc/libspawner.so | Bin 19428 -> 21264 bytes .../META-INF/MANIFEST.MF | 5 +- .../library/Spawner.h | 9 +- .../library/Win32ProcessEx.c | 4 +- .../os/win32/x86/spawner.dll | Bin 39679 -> 39679 bytes .../core/CCorePluginResources.properties | 3 +- .../utils/org/eclipse/cdt/utils/pty/PTY.java | 92 ++++++++++++++++-- .../eclipse/cdt/utils/spawner/Spawner.java | 9 +- 55 files changed, 520 insertions(+), 189 deletions(-) diff --git a/core/org.eclipse.cdt.core.linux.x86/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.linux.x86/META-INF/MANIFEST.MF index b187d90e643..c05242b3a24 100644 --- a/core/org.eclipse.cdt.core.linux.x86/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.core.linux.x86/META-INF/MANIFEST.MF @@ -2,7 +2,8 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %fragmentName.linux.x86 Bundle-SymbolicName: org.eclipse.cdt.core.linux.x86;singleton:=true -Bundle-Version: 5.1.0.qualifier +Bundle-Version: 5.2.0.qualifier Bundle-Vendor: %providerName -Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.0.0,6.0.0)" +Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)" Bundle-Localization: plugin +Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=x86)) diff --git a/core/org.eclipse.cdt.core.linux.x86/os/linux/x86/libpty.so b/core/org.eclipse.cdt.core.linux.x86/os/linux/x86/libpty.so index 43496de1010731d698f7afe8647bc544a55d8f22..60088bca3fa59f8388f6af075b7ef28e7c55844a 100644 GIT binary patch literal 8132 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 CMNUBg literal 8071 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 K8z+_g0{;V*nh=rz literal 15895 zcmeHOeRP!7nZF4ELktjUY$Ko@L0X_SgpXFlj}0F$Um~P{tyStUOoq&a$;>$OjuHI(H|;e&x0nI@^bJ1>I6_mIu1-?c?IZWzjm9! z&Pld>1xh|{N;eq35_}!#HqggR9vPZZ4rna_(jw3%&~*fVA^i=?R)J=LZUSut-3nR* zV!9DD6I2gc2-*T_1Wg0Y2ide757&d%+YG}$0=@u*;g3q!0?jiy%X}r9@!SMj?aP~v z=UaUE|MKxF)A$VVD}5cg0?+RQeZZH;$AAxC?R$Qw$2ybwLBp>x{6k}e-w(_+%QROr ztX8FN2F*5@>;{lo){^^C{NoX!}hxU!Y%th87c+*NHc zSGQ8tlPs1Uqt+KOSGZEUi}(`3rzZ=;&eV#Bi+G|GaIZ3rQ&qwnjj_k6O9gK&V%?Ei zZVIGvN;kwksV*&=?A;N#o?NaIwkelUN>sms+q zV>_;E*3Q9CRAbTnLU5IGO?i(gKdntHmY_Vu#fN~Y%hX$i2p^C>0b;phDGWy;!+A%52$atsn4~_a{3;-UZ%oIH$yKI zeIUzkfc(?5l=`LMD)qS0&pp8MTY&dsJX|u=|M#YxE0?o<%HT#RS8Bju+rK{>Z0-Fc zgRTC#roXyP8 zO!+0qe-`73Ll4Ju8hSqor?A4v(+}JIG8OyfDDwXU>(7p#zJlohXeMZ(=|A&nuQdkS z@vZ>w!TkKYlvk;{z?uFH{i6IMDEE(tJJ#+OuHQI?kzN2%{u#)hpmC8n{<}Pq(5ZS=KB zxl+vrKVk3>P5ag!0p!~hz{9OZo_?17QNfj;+_3D{wJTI`_46Tz59FL_kkzlyl4QAa~JQK{MLiZ*j>ELF= zBfBEug^GWJDYyM%Yc9Ch3Jn)iAsvckB5G$W9#6FhyO_%NhGOojWLlA5Osi`XsjR!% zO-Dj)LHucMQ2culE&COO96mnq1aI`s=Rw)gz%oeIldnTMr>`*Nc zHx+|UuoiGGq9OUQN8DwYhpabV~W%pSR_B^^qTXA>CBPCTUCOd`}4 zQSsRJaD66O|50?WIpl^g>g^fq3vNDS!9I{My99D-_4>8TR|FTC#b$gfbUmV7$&kjA+O^)$*k}t#kf_ynXTavF(>LK!#xF?b0BKSG-wMsoojsxm3 z@>`TTNWNaFr^xYv>}hgb6rLsDgwL7exEMW8ej7ducKtdxSn2%|N2JGd%A1ah!YePS z!gCdvrNWc?Hq9sAi=!ab-&;U>k}Dv};{KC@d2fv}v;T--OqPoBPyZpom?RYq5FZrG z$0#hU`u7XQWT+@sg6i)S%%Uh(iRw=YhS62Dk$9V6ibmHEHwlKZRkVq?Q824UZzpaL z3?r-PHsXNbM&c-OjbIp8MN`B|FjYr)5fA+t8BfBfD%wfhE0|41A0R#{7>iX!_Y)rx z%%-D{5+4%0mG~g>LBZRIpC;ZfxS9A6ai?H*Eqa(ZB{)uegm{}^b~SpOxJj@}e3H0P zFuNY@A#M=7o4A)aAh?s*Bd!s=mw1R+34VZhgm~z`IsS);vHvlC!TX6TiBAgt9B~ct z5y6iV*AX8Q{1|b7_@Ll}#B+%E3x0~Yfw)uf)5J@NQ-Yr*ZY16&_z*F#wEazjpC@i2 zZWMf&_;%t3V65}a9IU$Y{+H%se>dfG$AR`8amx!Q^Pf8V%1itA`(-YL%%;xoo?w;i z;(YFi2xsT#b6h?7ntiXj@5>#j=n`0XwUnLhe>ulmWui1USY3E-25NYD7&UjaX5a^1 zZ~NPM50@s28atF`RLB0!JC%7= z$W|A!mHEzRv6l-cQK!opMp1r%I(B$DQ@OxBn!A?s^fLyKDF9Hio*Y zYiw-@+3NfhC*3ZMNAxysmE3M;q@eompz)odE~hV#|C}}&6WXjnHp7?aIx3ZWGdkbp zjG*D%5|u3<2(NdjdkyT`?Hq3^WQPjbKG-?$co=lw84fzoJK3y| zoAk)ob(7cU&DD8%=csQMYV9oCjnmt2$#d*Ha?BYNOVUJQzGK)&WrMltM#^}KMinYJB4V}SU#~{bQ-8X()W|!6~jKACIX_Db{cjjTv2JgFn zGz;fcuH#f`;q;Ui&gs&^>3#PL2OTu#8uS8sZn)-6p66BTyu5SDXTsv**mAWvGnygq z)N)65441oi^6#EYxwYJB{lDPW>KLBrw&U-VDSN*N-2bxPZ=CoVZ~ll`FC)2*k;0UH zKlc|d7em0gj`aV~tx|Bh*oA?u%$!2$ zM@CDpC>DIZBwcT(w#JK&7OyRpe7YzPSLm~2(T!FIxD?^TYrM3U6)Am2`p%y|T(SL| zksc}E*;{gnLwTpJ3(MW1!Nf7aAz)vPcrx9v@yk7#mvorrfidKIHapVXLTItN)-%VI@Ce2Iu-Z=e4pnJ7aO6Kwo1 znOdKriVN;n_^ffk2EcI)&#VnF?Db<%;+1eno!0>8nV+~cE1mn6Rx@gTibvK;D_7~g zW}EBDb@Zt0&AQiJ&JiA$*@@k`P8bNVkUi3!+e>5RbKk>S#okZqs^*01Ka1(jb<`<0 zE3RUw$(yVVwC~8SIg;fyd4JM%kaf9a^)`84F$*5JwV^xr6}HlyJ2a}XaxEpRug7~z zYqm|_kEXq$-?O8qa~-EuJI?-UjKo_nwJOlrsrsp@b!oAIQ==OA5~||}G!3j6-9SLb zc3Mr@$8YsSrq+(1W1h123E96e{jhhPXsXHKsF(`T?%W6)@)}IGz5`7iD^&Sg3SH_G z>h<3IPgx5kO?4vl8|uB3&>5?}D{mBUi;9?`yW>)vbFx#a>~urtJM1Z6{XjwpJYS-g;}y*yqaF-!R#< z;-Gh8tkCr$^kbh;pZArqLTg3npw7uvGi%y+fbUgD2XM*#}EQiH*oTqU`8sO69 zAg|K7W)+_2V$y@J(2b|!mfAH97HL(uUeZH()3rsgAIb;dp5%ryFb~@s7joQabG>`^ z9m&=f@oZI4>ctUUVR-`)5327B`_J*g+t9A`v(kHeNK9$nU~!LQ%j-S96$a^YdN3w9 zPa3DV$Md@CG3PWLXTN9n_ztM@PqixB)^2X<>5#xMc|j>QaBs1Jn`{HupQnKnzvIYl1BuZMOqan7VpDgOHuV8f zS)-TZ>#`hiU&Ng&;60&>%$2&`feE-7JZXdD{knc?YIV-jott!b>0lf+4DB&Tr)j+=XCLCzkhIX4OSzT1HUO4k1xYy>&%72>(2cPn=kH|PwH+Q+jk1u zSfM|GX~tRJxn#auCA{7(AGi@!TgTG{9M=`F&##aHR(d~!8{ic{RP@hBb)PnVR|2{2 z+#53LDqY*`5f`Hz?1U@UJ^S6Lp8Zg(_31i=?n#@2-geU__S#?tcXoGfJO%(KHRwHT z+u*&q^f45Zfvqvzox6mBQGWT`y|0JQ-chN6eTOmHyk6Y`#>v|N^}eq4ax|vi=>gx! z2bPTPN~`j!i#_ST8~(`XG5sqIEH9QDb@y3pCvVN=O1OT?(ZGB2eP+xZ zwaUdgg2S=46(6Uop?Z(5D|e_mDXNRsZsFQt>5FFe98MbY{2z3R7rULcrn`sbba~U7 z9G~cCb>qW*;4|IM;rlB)WmK5v!%e(FRC*P<>Ee3N4HmDmbw*`wl3os#-nX?@F9^=- zd&h_v4DJOd#3P~_(>vn*u3sh-N5lJMqDH(c-;kVR&JaG!7X}h0`=iBfTESsm6@vI^ zTo|CMrN(ZZtv|r2td)MbD2-2ng#l!9U2?_f^>*&J75GkZ0^Qc| zoppI{IwgMUExSdem3I|h5`Ls8ElO2=o6vs@kqc; z2Kf71U`I9{52QkFG=N{-0yAf4W>(2BW(|~`otZPcdG69cI^t&2iCCf~(43X3qOZQ{ zf0tPrn4PK8KRM3fZ+i`QF8I`3A6{^0!zjFv*e}p9Mqt4h1q%hUBS;rGHu-V+FOO|( zzt8EHZdZQ8oC6DOpczBymTX%j;leOY%eJiXbq7BK2CiWqik8Bx^Jiz&{N~6#^HXly zF5P$jmNg85pO)Xm7#Z{p9IDmej4zo4&bWyR@aI9}L7kQOT?;$_IZnne!7l}eOXY`N ziF3ehMQwvp>_>?w!678^PM3i*4hl<1Vz98B<+n6!u_WWAunv>#3l?OO@l^QEDoI@z znowWPG0R!c#yRo13ZYKZK=VLLLF+(wfLcNKfgS`M06hcx4(KPK*FbN8&VZ^g$Z4Q? zprxR7pgTaVp!+}%f)0S50euJb6VPj*H$Z1VRWQIb&^*vm&^pi^pjOa*pa($*K+k}_ z13D+IUa?|nV9x3dx6KVKs$W>YD6p`hVNt_J8WslTY>G4o)`Z-^`dA{nOP5~zkwtS6 zO!(J2|L<&2pJ{J%L)%q70|tag?Nc?aRBQJ=#NNOgXnvhPk%((1}8;7grD3+2HQ^J zM43l9`Y#gwmQD0IObbBtL6oEaAw7#{+b%ijW)OWApXs+qjd-R?>SEuRZUs#QQI39( z)L<}}$e}9|=WOK|7fRX&MXbks>Z4o`ME&%?^v@*vR-0_QcOb*cF^-gUlFCe?94P{_ za*Qt}?WWT<$?Dq)Y~^?!kT^#+S-HEBK{+MDgr8n^`ZM*cz&`^J65waC8NwEsG#K10KsWc69>=iI|g zjL%^T7)5`Lr{-;_6dyWH@m8egpZuNTshMxnIPr8AQQq$ni0j1SHh#Puw>GW|n<@}* zIs?GQf0tpV=KXM=4#JYx&}@$hGW{qgV>XqfwliSghy>9F&_R)!2Wpn*MXT1fM$Zu7>sZ~nUBf1V=>wBUIpxrho580Z9M!^ zVE=fQ0rMPW;`;rBk$(Z0^WOq|!Z-f7DZkN_cNk1hN%_As*xKiDgK<1b`8R<5@$kK- z9K|XC8V2^q!=C~6$HQN1&bSuHvb|*nKVk644Yu~!VK9nCf7W2${a9ax5wh-!c~{}I zn{l%{cGQOvjk{vY#!bQXYd3FUD130`DCDdOuG+NhRwuaJS-p0H2&`LClup$n)H>Og ziX)o1xqbm^Hz$KF@#OYUJSaEwU?{r_5%Rde2b;5PZSA%-XT!=;V;1O!EMhbExujLD z{i4-I42PA3;|IgRP&yrImw5alh$S&XiM7urV!P}!Vw>?O-)n%Ih-W;Z`9g~=5L@FNbb*+F!qQ)XKZY|zwDfN zc7LIMn?t|E;Lk5cw&N>0fBw51u!->3vHgC1CQ#p>C8P6am=Jw`mPGvfGx!0UvHAYI z3-2pl1&D+f_}&5VN8Ov32i~P-{gwz{O7JUSdl&QChjb82UOw+%__+K#%S^%OS9VH$ z;tK@!y@pb5gKT&|F1_kNH<=9k%j_!)@Aw)KU;P;^jF%bY?TFF2cqzl5!KLZP^8Q3A v diff --git a/core/org.eclipse.cdt.core.linux.x86_64/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.linux.x86_64/META-INF/MANIFEST.MF index 81b7b5d0f1e..c9b71bda202 100644 --- a/core/org.eclipse.cdt.core.linux.x86_64/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.core.linux.x86_64/META-INF/MANIFEST.MF @@ -2,7 +2,8 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %fragmentName.linux.x86_64 Bundle-SymbolicName: org.eclipse.cdt.core.linux.x86_64;singleton:=true -Bundle-Version: 5.1.0.qualifier +Bundle-Version: 5.2.0.qualifier Bundle-Vendor: %providerName -Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.0.0,6.0.0)" +Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)" Bundle-Localization: plugin +Eclipse-PlatformFilter: (&(osgi.os=linux)(osgi.arch=x86_64)) diff --git a/core/org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64/libpty.so b/core/org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64/libpty.so index 36aaff732884e7cb94d6bda80b105d04fa8c1f45..3891b193a40e9e77fcefbb5998ada4a00087e5d7 100644 GIT binary patch literal 10321 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 literal 10927 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 F{{)d;V>kc+ diff --git a/core/org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64/libspawner.so b/core/org.eclipse.cdt.core.linux.x86_64/os/linux/x86_64/libspawner.so index 265ae37b10f7a685c5971ed30c7a01ac701d4665..d7d2e456897ab6bc2c0d0c8b1b39fb323463999c 100644 GIT binary patch literal 20253 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 literal 20161 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 #include @@ -16,6 +18,12 @@ extern pid_t exec0(const char *path, char *const argv[], char *const envp[], const char *dirpath, - int channels[3] ); + int channels[3]); + + +extern pid_t exec_pty(const char *path, char *const argv[], + char *const envp[], const char *dirpath, + int channels[3], const char *pts_name, int fdm, + int console); extern int wait0(pid_t pid); diff --git a/core/org.eclipse.cdt.core.linux/library/exec_pty.c b/core/org.eclipse.cdt.core.linux/library/exec_pty.c index 5098e39b8e8..dd68615f0e5 100644 --- a/core/org.eclipse.cdt.core.linux/library/exec_pty.c +++ b/core/org.eclipse.cdt.core.linux/library/exec_pty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2006 QNX Software Systems and others. + * Copyright (c) 2004, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,8 +8,11 @@ * Contributors: * QNX Software Systems - initial API and implementation * Wind River Systems, Inc. + * Mikhail Zabaluev (Nokia) - bug 82744 + * Mikhail Sennikovsky - bug 145737 *******************************************************************************/ #include "exec0.h" +#include "openpty.h" #include #include #include @@ -20,11 +23,11 @@ #include /* from pfind.c */ -extern char *pfind(const char *name); +extern char *pfind(const char *name, char * const envp[]); pid_t exec_pty(const char *path, char *const argv[], char *const envp[], - const char *dirpath, int channels[3], const char *pts_name, int fdm) + const char *dirpath, int channels[3], const char *pts_name, int fdm, int console) { int pipe2[2]; pid_t childpid; @@ -34,7 +37,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], * We use pfind() to check that the program exists and is an executable. * If not pass the error up. Also execve() wants a full path. */ - full_path = pfind(path); + full_path = pfind(path, envp); if (full_path == NULL) { fprintf(stderr, "Unable to find full path for \"%s\"\n", (path) ? path : ""); return -1; @@ -43,7 +46,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], /* * Make sure we can create our pipes before forking. */ - if (channels != NULL) { + if (channels != NULL && console) { if (pipe(pipe2) < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); free(full_path); @@ -64,6 +67,11 @@ exec_pty(const char *path, char *const argv[], char *const envp[], if (channels != NULL) { int fds; + if (!console && setsid() < 0) { + perror("setsid()"); + return -1; + } + fds = ptys_open(fdm, pts_name); if (fds < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); @@ -71,17 +79,29 @@ exec_pty(const char *path, char *const argv[], char *const envp[], } /* Close the read end of pipe2 */ - if (close(pipe2[0]) == -1) + if (console && close(pipe2[0]) == -1) { perror("close(pipe2[0]))"); + } /* close the master, no need in the child */ close(fdm); - set_noecho(fds); + if (console) { + set_noecho(fds); + if (setpgid(getpid(), getpid()) < 0) { + perror("setpgid()"); + return -1; + } + } + /* redirections */ dup2(fds, STDIN_FILENO); /* dup stdin */ dup2(fds, STDOUT_FILENO); /* dup stdout */ - dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + if (console) { + dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + } else { + dup2(fds, STDERR_FILENO); /* dup stderr */ + } close(fds); /* done with fds. */ } @@ -94,8 +114,6 @@ exec_pty(const char *path, char *const argv[], char *const envp[], close(fd++); } - setpgid(getpid(), getpid()); - if (envp[0] == NULL) { execv(full_path, argv); } else { @@ -105,17 +123,20 @@ exec_pty(const char *path, char *const argv[], char *const envp[], _exit(127); } else if (childpid != 0) { /* parent */ - - set_noecho(fdm); + if (console) { + set_noecho(fdm); + } if (channels != NULL) { - /* close the write end of pipe1 */ - if (close(pipe2[1]) == -1) - perror("close(pipe2[1])"); - channels[0] = fdm; /* Input Stream. */ channels[1] = fdm; /* Output Stream. */ - channels[2] = pipe2[0]; /* stderr Stream. */ - //channels[2] = fdm; /* Input Stream. */ + if (console) { + /* close the write end of pipe1 */ + if (close(pipe2[1]) == -1) + perror("close(pipe2[1])"); + channels[2] = pipe2[0]; /* stderr Stream. */ + } else { + channels[2] = fdm; /* Error Stream. */ + } } free(full_path); diff --git a/core/org.eclipse.cdt.core.linux/library/exec_unix.c b/core/org.eclipse.cdt.core.linux/library/exec_unix.c index 7949f3b9009..ced7b744daa 100644 --- a/core/org.eclipse.cdt.core.linux/library/exec_unix.c +++ b/core/org.eclipse.cdt.core.linux/library/exec_unix.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2006 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,7 +7,8 @@ * * Contributors: * QNX Software Systems - initial API and implementation - * Wind River Systems, Inc. + * Wind River Systems, Inc. + * Mikhail Sennikovsky - bug 145737 *******************************************************************************/ #include "exec0.h" #include @@ -19,7 +20,7 @@ #include /* from pfind.c */ -extern char *pfind(const char *name); +extern char *pfind(const char *name, char * const envp[]); pid_t exec0(const char *path, char *const argv[], char *const envp[], @@ -33,7 +34,7 @@ exec0(const char *path, char *const argv[], char *const envp[], * We use pfind() to check that the program exists and is an executable. * If not pass the error up. Also execve() wants a full path. */ - full_path = pfind(path); + full_path = pfind(path, envp); if (full_path == NULL) { fprintf(stderr, "Unable to find full path for \"%s\"\n", (path) ? path : ""); return -1; @@ -137,9 +138,18 @@ int wait0(pid_t pid) int status; int val = -1; - if (pid < 0 || waitpid(pid, &status, 0) < 0) + if (pid < 0) return -1; - + + for (;;) { + if (waitpid(pid, &status, 0) < 0) { + if (errno == EINTR) { + // interrupted system call - retry + continue; + } + } + break; + } if (WIFEXITED(status)) { val = WEXITSTATUS(status); } diff --git a/core/org.eclipse.cdt.core.linux/library/openpty.c b/core/org.eclipse.cdt.core.linux/library/openpty.c index 3a860721224..818ca8e0784 100644 --- a/core/org.eclipse.cdt.core.linux/library/openpty.c +++ b/core/org.eclipse.cdt.core.linux/library/openpty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,7 +7,13 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. + * Mikhail Zabaluev (Nokia) - bug 82744 + * Corey Ashford (IBM) - bug 272370, bug 272372 *******************************************************************************/ + +/* _XOPEN_SOURCE is needed to bring in the header for ptsname */ +#define _XOPEN_SOURCE #include #include #include @@ -20,7 +26,6 @@ #include #include -#include /** * This is taken from R. W. Stevens book. @@ -28,7 +33,7 @@ */ int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); void set_noecho(int fd); int @@ -105,7 +110,7 @@ ptym_open(char * pts_name) } int -ptys_open(int fdm, char * pts_name) +ptys_open(int fdm, const char * pts_name) { int fds; /* following should allocate controlling terminal */ @@ -114,19 +119,12 @@ 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); - close(fds); - return -6; + +#if defined(TIOCSCTTY) + /* TIOCSCTTY is the BSD way to acquire a controlling terminal. */ + if (ioctl(fds, TIOCSCTTY, (char *)0) < 0) { + // ignore error: this is expected in console-mode } - if (ioctl(fds, I_PUSH, "ldterm") < 0) { - printf("ldterm %s\n", strerror(errno)); - close(fdm); - close(fds); - return -7; - } -*/ +#endif return fds; } diff --git a/core/org.eclipse.cdt.core.linux/library/openpty.h b/core/org.eclipse.cdt.core.linux/library/openpty.h index a32845e84d7..c6475faa8a3 100644 --- a/core/org.eclipse.cdt.core.linux/library/openpty.h +++ b/core/org.eclipse.cdt.core.linux/library/openpty.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,12 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. + * Mikhail Zabaluev (Nokia) - bug 82744 *******************************************************************************/ #ifndef _OPENPTY_H #define _OPENPTY_H int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); void set_noecho(int fd); #endif diff --git a/core/org.eclipse.cdt.core.linux/library/pfind.c b/core/org.eclipse.cdt.core.linux/library/pfind.c index c4621e843bc..519c6c33072 100644 --- a/core/org.eclipse.cdt.core.linux/library/pfind.c +++ b/core/org.eclipse.cdt.core.linux/library/pfind.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,9 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. + * Mikhail Sennikovsky - bug 145737 + * Everton Rufino Constantino (IBM) - bug 237611 *******************************************************************************/ /* * pfind.c - Search for a binary in $PATH. @@ -22,8 +25,26 @@ #define PATH_MAX 1024 #endif +#define PATH_DEF "PATH=" +const int path_def_len = 5; /* strlen(PATH_DEF); */ -char * pfind(const char *name) +char * path_val(char * const envp[]) +{ + int i; + if (envp == NULL || envp[0] == NULL) + return getenv("PATH" ); + + for(i = 0; envp[i] != NULL; i++){ + char* p = envp[i]; + if(!strncmp(PATH_DEF, p, path_def_len)){ + return p + path_def_len; + } + } + + return NULL; +} + +char * pfind(const char *name, char * const envp[]) { char *tok; char *sp; @@ -38,14 +59,14 @@ char * pfind(const char *name) /* For absolute name or name with a path, check if it is an executable. */ if (name[0] == '/' || name[0] == '.') { - if (access(name, X_OK | R_OK) == 0) { + if (access(name, X_OK) == 0) { return strdup(name); } return NULL; } /* Search in the PATH environment. */ - path = getenv("PATH" ); + path = path_val( envp ); if (path == NULL || strlen(path) <= 0) { fprintf(stderr, "Unable to get $PATH.\n"); @@ -59,7 +80,7 @@ char * pfind(const char *name) while (tok != NULL) { snprintf(fullpath, sizeof(fullpath) - 1, "%s/%s", tok, name); - if (access(fullpath, X_OK | R_OK) == 0) { + if (access(fullpath, X_OK) == 0) { free(path); return strdup(fullpath); } @@ -78,7 +99,7 @@ int main(int argc, char **argv) char *fullpath; for (i=1; i #include "PTY.h" #include "openpty.h" @@ -17,7 +19,7 @@ * Signature: ()I */ JNIEXPORT jstring JNICALL -Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { +Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj, jboolean console) { jfieldID fid; /* Store the field ID */ jstring jstr = NULL; int master = -1; @@ -29,7 +31,9 @@ Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { master = ptym_open(line); if (master >= 0) { // turn off echo - set_noecho(master); + if (console) { + set_noecho(master); + } /* Get a reference to the obj's class */ cls = (*env)->GetObjectClass(env, jobj); @@ -46,3 +50,21 @@ Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { } return jstr; } + +JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTY_change_1window_1size + (JNIEnv *env, jobject jobj, jint fdm, jint width, jint height) +{ +#ifdef TIOCGWINSZ + struct winsize win; + + win.ws_col = width; + win.ws_row = height; + win.ws_xpixel = 0; + win.ws_ypixel = 0; + + return ioctl(fdm, TIOCSWINSZ, &win); +#else + return 0; +#endif +} + diff --git a/core/org.eclipse.cdt.core.linux/library/spawner.c b/core/org.eclipse.cdt.core.linux/library/spawner.c index 0b74145a726..67b12b05b80 100644 --- a/core/org.eclipse.cdt.core.linux/library/spawner.c +++ b/core/org.eclipse.cdt.core.linux/library/spawner.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2006 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * QNX Software Systems - initial API and implementation * Wind River Systems, Inc. + * Mikhail Zabaluev (Nokia) - bug 82744 *******************************************************************************/ #include #include @@ -89,13 +90,13 @@ static void free_c_array(char **c_array) */ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 (JNIEnv *env, jobject jobj, jobjectArray jcmd, jobjectArray jenv, jstring jdir, jintArray jchannels, - jstring jslaveName, jint masterFD) + jstring jslaveName, jint masterFD, jboolean console) { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); const char *pts_name = (*env)->GetStringUTFChars(env, jslaveName, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; @@ -119,7 +120,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 fprintf(stderr, "pts_name: %s\n", pts_name); #endif - pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD); + pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD, console); if (pid < 0) goto bail_out; @@ -146,8 +147,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec1(JNIEnv * env, jobject jobj, jstring jdir) { const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; pid_t pid = -1; cmd = alloc_c_array(env, jcmd); @@ -193,8 +194,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec0(JNIEnv * env, jobject jobj, { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; diff --git a/core/org.eclipse.cdt.core.macosx/META-INF/MANIFEST.MF b/core/org.eclipse.cdt.core.macosx/META-INF/MANIFEST.MF index 4d791c4309c..9391a5985ab 100644 --- a/core/org.eclipse.cdt.core.macosx/META-INF/MANIFEST.MF +++ b/core/org.eclipse.cdt.core.macosx/META-INF/MANIFEST.MF @@ -2,9 +2,10 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %fragmentName.macosx Bundle-SymbolicName: org.eclipse.cdt.core.macosx; singleton:=true -Bundle-Version: 5.1.0.qualifier +Bundle-Version: 5.2.0.qualifier Bundle-ClassPath: cdt_macosx.jar Bundle-Vendor: %providerName -Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.0.0,6.0.0)" +Fragment-Host: org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)" Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Eclipse-PlatformFilter: (osgi.os=macosx) diff --git a/core/org.eclipse.cdt.core.macosx/library/PTY.h b/core/org.eclipse.cdt.core.macosx/library/PTY.h index 46a8dd9b622..f717942a01d 100644 --- a/core/org.eclipse.cdt.core.macosx/library/PTY.h +++ b/core/org.eclipse.cdt.core.macosx/library/PTY.h @@ -7,14 +7,21 @@ #ifdef __cplusplus extern "C" { #endif -/* Inaccessible static: hasPTY */ /* * Class: org_eclipse_cdt_utils_pty_PTY * Method: openMaster - * Signature: ()Ljava/lang/String; + * Signature: (Z)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_eclipse_cdt_utils_pty_PTY_openMaster - (JNIEnv *, jobject); + (JNIEnv *, jobject, jboolean); + +/* + * Class: org_eclipse_cdt_utils_pty_PTY + * Method: change_window_size + * Signature: (III)I + */ +JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTY_change_1window_1size + (JNIEnv *, jobject, jint, jint, jint); #ifdef __cplusplus } diff --git a/core/org.eclipse.cdt.core.macosx/library/Spawner.h b/core/org.eclipse.cdt.core.macosx/library/Spawner.h index 272366bad75..02727f98a88 100644 --- a/core/org.eclipse.cdt.core.macosx/library/Spawner.h +++ b/core/org.eclipse.cdt.core.macosx/library/Spawner.h @@ -26,10 +26,10 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec1 /* * Class: org_eclipse_cdt_utils_spawner_Spawner * Method: exec2 - * Signature: ([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[ILjava/lang/String;I)I + * Signature: ([Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[ILjava/lang/String;IZ)I */ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 - (JNIEnv *, jobject, jobjectArray, jobjectArray, jstring, jintArray, jstring, jint); + (JNIEnv *, jobject, jobjectArray, jobjectArray, jstring, jintArray, jstring, jint, jboolean); /* * Class: org_eclipse_cdt_utils_spawner_Spawner diff --git a/core/org.eclipse.cdt.core.macosx/library/exec0.h b/core/org.eclipse.cdt.core.macosx/library/exec0.h index 8249da95666..fa23bd792b3 100644 --- a/core/org.eclipse.cdt.core.macosx/library/exec0.h +++ b/core/org.eclipse.cdt.core.macosx/library/exec0.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,4 +18,9 @@ extern pid_t exec0(const char *path, char *const argv[], char *const envp[], const char *dirpath, int channels[3] ); +extern pid_t exec_pty(const char *path, char *const argv[], + char *const envp[], const char *dirpath, + int channels[3], const char *pts_name, int fdm, + int console); + extern int wait0(pid_t pid); diff --git a/core/org.eclipse.cdt.core.macosx/library/exec_pty.c b/core/org.eclipse.cdt.core.macosx/library/exec_pty.c index 55779c6a9d6..47d36963a03 100644 --- a/core/org.eclipse.cdt.core.macosx/library/exec_pty.c +++ b/core/org.eclipse.cdt.core.macosx/library/exec_pty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * QNX Software Systems - initial API and implementation *******************************************************************************/ #include "exec0.h" +#include "openpty.h" #include #include #include @@ -23,7 +24,7 @@ extern char *pfind(const char *name); pid_t exec_pty(const char *path, char *const argv[], char *const envp[], - const char *dirpath, int channels[3], const char *pts_name, int fdm) + const char *dirpath, int channels[3], const char *pts_name, int fdm, int console) { int pipe2[2]; pid_t childpid; @@ -42,7 +43,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], /* * Make sure we can create our pipes before forking. */ - if (channels != NULL) { + if (console && channels != NULL) { if (pipe(pipe2) < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); free(full_path); @@ -63,6 +64,11 @@ exec_pty(const char *path, char *const argv[], char *const envp[], if (channels != NULL) { int fds; + if (!console && setsid() < 0) { + perror("setsid()"); + return -1; + } + fds = ptys_open(fdm, pts_name); if (fds < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); @@ -70,17 +76,28 @@ exec_pty(const char *path, char *const argv[], char *const envp[], } /* Close the read end of pipe2 */ - if (close(pipe2[0]) == -1) + if (console && close(pipe2[0]) == -1) { perror("close(pipe2[0]))"); + } /* close the master, no need in the child */ close(fdm); - set_noecho(fds); + if (console) { + set_noecho(fds); + if (setpgid(getpid(), getpid()) < 0) { + perror("setpgid()"); + return -1; + } + } /* redirections */ dup2(fds, STDIN_FILENO); /* dup stdin */ dup2(fds, STDOUT_FILENO); /* dup stdout */ - dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + if (console) { + dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + } else { + dup2(fds, STDERR_FILENO); /* dup stderr */ + } close(fds); /* done with fds. */ } @@ -103,16 +120,21 @@ exec_pty(const char *path, char *const argv[], char *const envp[], } else if (childpid != 0) { /* parent */ - set_noecho(fdm); + if (console) { + set_noecho(fdm); + } if (channels != NULL) { /* close the write end of pipe1 */ - if (close(pipe2[1]) == -1) + if (console && close(pipe2[1]) == -1) perror("close(pipe2[1])"); channels[0] = fdm; /* Input Stream. */ channels[1] = fdm; /* Output Stream. */ - channels[2] = pipe2[0]; /* stderr Stream. */ - //channels[2] = fdm; /* Input Stream. */ + if (console) { /* stderr Stream. */ + channels[2] = pipe2[0]; + } else { + channels[2] = fdm; + } } free(full_path); diff --git a/core/org.eclipse.cdt.core.macosx/library/openpty.c b/core/org.eclipse.cdt.core.macosx/library/openpty.c index c5c81967aba..0d720f578fb 100644 --- a/core/org.eclipse.cdt.core.macosx/library/openpty.c +++ b/core/org.eclipse.cdt.core.macosx/library/openpty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ */ int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp) @@ -86,7 +86,7 @@ ptym_open(char * pts_name) } int -ptys_open(int fdm, char * pts_name) +ptys_open(int fdm, const char * pts_name) { int gid, fds; struct group *grptr; @@ -106,6 +106,14 @@ ptys_open(int fdm, char * pts_name) close(fdm); return -1; } + +#if defined(TIOCSCTTY) + /* TIOCSCTTY is the BSD way to acquire a controlling terminal. */ + if (ioctl(fds, TIOCSCTTY, (char *)0) < 0) { + // ignore error: this is expected in console-mode + } +#endif + return fds; } diff --git a/core/org.eclipse.cdt.core.macosx/library/openpty.h b/core/org.eclipse.cdt.core.macosx/library/openpty.h index a32845e84d7..fd974da9bd7 100644 --- a/core/org.eclipse.cdt.core.macosx/library/openpty.h +++ b/core/org.eclipse.cdt.core.macosx/library/openpty.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,6 +11,6 @@ #ifndef _OPENPTY_H #define _OPENPTY_H int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); void set_noecho(int fd); #endif diff --git a/core/org.eclipse.cdt.core.macosx/library/pfind.c b/core/org.eclipse.cdt.core.macosx/library/pfind.c index c4621e843bc..b673c0e3eab 100644 --- a/core/org.eclipse.cdt.core.macosx/library/pfind.c +++ b/core/org.eclipse.cdt.core.macosx/library/pfind.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -38,7 +38,7 @@ char * pfind(const char *name) /* For absolute name or name with a path, check if it is an executable. */ if (name[0] == '/' || name[0] == '.') { - if (access(name, X_OK | R_OK) == 0) { + if (access(name, X_OK) == 0) { return strdup(name); } return NULL; @@ -59,7 +59,7 @@ char * pfind(const char *name) while (tok != NULL) { snprintf(fullpath, sizeof(fullpath) - 1, "%s/%s", tok, name); - if (access(fullpath, X_OK | R_OK) == 0) { + if (access(fullpath, X_OK) == 0) { free(path); return strdup(fullpath); } diff --git a/core/org.eclipse.cdt.core.macosx/library/pty.c b/core/org.eclipse.cdt.core.macosx/library/pty.c index a8077b0a5ad..e7c23e8fbc1 100644 --- a/core/org.eclipse.cdt.core.macosx/library/pty.c +++ b/core/org.eclipse.cdt.core.macosx/library/pty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,7 +17,7 @@ * Signature: ()I */ JNIEXPORT jstring JNICALL -Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { +Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj, jboolean console) { jfieldID fid; /* Store the field ID */ jstring jstr = NULL; int master = -1; @@ -28,6 +28,11 @@ Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { master = ptym_open(line); if (master >= 0) { + if (console) { + // turn off echo + set_noecho(master); + } + /* Get a reference to the obj's class */ cls = (*env)->GetObjectClass(env, jobj); @@ -43,3 +48,20 @@ Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { } return jstr; } + +JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTY_change_1window_1size + (JNIEnv *env, jobject jobj, jint fdm, jint width, jint height) +{ +#ifdef TIOCGWINSZ + struct winsize win; + + win.ws_col = width; + win.ws_row = height; + win.ws_xpixel = 0; + win.ws_ypixel = 0; + + return ioctl(fdm, TIOCSWINSZ, &win); +#else + return 0; +#endif +} diff --git a/core/org.eclipse.cdt.core.macosx/library/spawner.c b/core/org.eclipse.cdt.core.macosx/library/spawner.c index f9ee8f63548..99f7fde8ca4 100644 --- a/core/org.eclipse.cdt.core.macosx/library/spawner.c +++ b/core/org.eclipse.cdt.core.macosx/library/spawner.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2009 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -88,13 +88,13 @@ static void free_c_array(char **c_array) */ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 (JNIEnv *env, jobject jobj, jobjectArray jcmd, jobjectArray jenv, jstring jdir, jintArray jchannels, - jstring jslaveName, jint masterFD) + jstring jslaveName, jint masterFD, jboolean console) { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); const char *pts_name = (*env)->GetStringUTFChars(env, jslaveName, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; @@ -118,7 +118,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 fprintf(stderr, "pts_name: %s\n", pts_name); #endif - pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD); + pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD, console); if (pid < 0) goto bail_out; @@ -144,8 +144,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec1(JNIEnv * env, jobject jobj, jstring jdir) { const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; pid_t pid = -1; cmd = alloc_c_array(env, jcmd); @@ -191,8 +191,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec0(JNIEnv * env, jobject jobj, { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/ppc/libpty.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/ppc/libpty.jnilib index 6eea7b33b5a37fe510199379c73554dcf2c399a5..af67897f8cb723d9d6284b22301769b50914a15e 100644 GIT binary patch literal 9484 zcmeHNZD?E98Ga>8vJyLq*JN9|rmh?e%UEmK{a6%8jBVs0H>&3?YEi-M(bu)5Sznc| zW2wl^b#a(W4RfFcmj*A4*5pSR-H$GjXdoBz%vFRA%eq^VdY2?uG>C{G2r@T z5kjP@*_2e2AG_NVa+UbmV>gV1$i{_M_|B03(!)HU!O7!w$LaP2(!n&9LPVcg~D`8xy;ZVG+OvOd@H zI0onKqX4&G?_uO65!;U-l0x8C?8795t_VedIUfo?mjV*Su}(^G33AW|?SV zxnpAfmA3U-XPb5Y+PLBJ&A*zgoUPYyH0;u*-I*EK%yb-^&$O+x9?ReVpnhw`LEhJT z>c!e%M}^~D_{zDy@)Aw1tWk93J&LS+NfRq~D12HF86zDh46LG+ZmIJCE4PBqc(e= zWn;$j{>A3+Eu)(v9A|iqhIl?ORIgt!y7=73Jm+YMP{)*89+|U#5^&ionaf7z^>K*PCdXz?wvRo_bN*my7Ztg+5#u##} zJ@{JL*7v0y*qQ#9xc`Bdz1LI>2V;l0jd`rO=cJC)`!4F8g!~3DSvqx`yr7dysI^Az z`YN8XO78~rqR?AZdiy}5c0KmbxTB^QxF+aFfTQd))>ChYJf~_2tT%IwIfvHhVYMd0 z@SA48fe~^8UwsuiYzrSO3v;Z1lN_9bJ+54~kEF^1kHs~*JgVJ>>w@DbK=JaB~w^3T|YvHKSF8r#;^D%Wa^cs}QT!57vp z)>JnQA>JzIk2s%jP4e2hO#K`yLhTzW?obTo;D;<5tPL{Pqx<&_-|)L|oY&fu)l)v} zx^fLP@6W%t=Nm?ULbWSDuB>*ut|kI?I|F@hqUF2Y+GX zAKsp03b9haCI}kbyzhB>7Y1Ef#&GL>&v|LL{_yh&&!$h+{Vs%lgz-$8z%wa=XHt}F zuvxB7;Ukm`kXO*ftqyJ4~IdA;QsfVzr^RmAgGUOyHlO`aqF z4Q#ju#wKLL<_U!j-*YX@n_;upd+J?qpbt3aH{l?^Q{lT2e=p)^?ZsD}$JBKupSL^Z zj*TYrkDJJEG?8CzB2P7u$C}84P2^qQET>yd%Xi zDIjfy61+h!3Z-eGC9|1gSrf^WE@t&iwv1OQs$wGY>{z}ytDnQ`mVe6pC!yql6fs;m zc_!JiV#}H?@&zrKE^teG84X zqy7Dl5zY&9c@S=hZF*YMr%U;Gjs&>b4BTW2NgV+=Wt$$i#CEDDp&r-y9U47}lucGb Ixv53}0VTT<(EtDd literal 9896 zcmeHNU2Ggz6+S!rF=&Ru)r zxY;D)0i?ak@j3UNzk9xWXErl;KDzp^KM>J9AZ|WTE0KGPDDWI)7yfyK7(X>Jj@}Ke zOZ6mgLB|Vn^PmuBs$#Nax10UFYear1nUki>$RbZ&M2v!wD9vW$`Ao?y$4}fGqjLju zyF$cV<_05j)N9dn5pDD^T3!>W(=Z2M25zPR3OQ?ZYL3A z!1c=_ghO5t36Y64h`~jK5QDiRhKn(g1%h*7x)7ryXV099jO^^EfHGn3`w9NA zPaOoVs}rPydQPYR_$P4L1_pxpQZO4!jCjGE9r#wxfFw=0o|B-S(-SX0 zOA}rfM-7%sMYd%+H(N4O*@58!!0hmu*zuW!#6GrRaMXwwW5wCv>0&IKx|lD{l!9N4 zU5GvT*uYeMB=}^iSTgdtQgBG=5CV-c=^+YO;75u2$1ucs+Ch+IW4zV%CvivJ$1IHD zdOY@9a9m%Xx(wcjKI8I9kZJ+ujPrdq?|TQFacj2!V+5*xZFBfF^3E-3n^nJibIwXs z9$6+@SZfU5M=d==S9f;GX_t7M5 z{NF_^p5IxEWb9wPy?sr^tW_UvuhiygskTnbwM$g1y-zE(k7$)I=+$1*^?A~x!5B zRxj05eO=Z()$Dk_cQL-A#*e~Z#*_Ih(yU9g5+&bN*sLm>{<;nLD%*uD%RjkjPFGJI zt{`WOYvuXFXM*(>u3*NEF?$nO?StC}Ot^Hf=Qlqw;C^%?eeaeWJM@;pCG{*7U3 zt>F&wl0lvyj*$P25o(oon*S(rhJo2-%&YS7G4g|lm*88a7IPIo%5D&LA=oV{yH@a! z(+=2FbkrUt@5_ue>~+*4_XgIdALDOT<5)j?&9v}39alI<5jV|o^7Z>GfsC`_mpw(hB_y&hI|gw%B&)z$h$$^Gu$`iIu&9qTDi#Tv$BG!I$xkP(aTHGH4r zdyVqZ9d_4kJJRLa{mA>ezMt^*=;8f0xf{<54D7tP#v|7I6mrJd zu^aXUxE8jRYdv~+?;OL(73TOB=uY+|?vucfs<=;DxKA$PKDmT_r*QEld5>7@w5V^` z_u)O*@P1m7YuPK;RIV?4BJc@Sy>9F;_Y(?7zLx577wd6RcSzs5F*ettaNF7QJa(IP zy`lDF8g*q*R{^;SxMyd19=91o?z8_gHoQi>=fk_$Xy+9+kvqU9a+@`L3=Xc;t#H6L zCFgHB|Bmx-#&a)dX|?w9_m+Pr=I~qZ(2q9I4>r(u-&*gw)kaf*>U#SbPb6ZQjL7DbMLZi{xLBEedhGG9pOa5igC{=wxs#v&!WZ?2WAQ{XHN|_#G-oLr z!?RA2XoLs$v=^^*5y)>3d+|(ux3nj4v)e?Vi9i#9CIU?ang}!zXd=)=pou^efhGb? z1eyr^k08LuhORJ<4?&XS99MF@CY2m#sFDvVeq8Z~6z^9&pg7JqrG1a$-HIcT9LH-{ z$s;z`P9NaYO#7JF(~I*~ynpx*e~v2oJ;*^N^ZDmjl#KTjG-=C_h`w`B`nD`V{+=!S z{|@;jTW;NgT(o81802fV+{X2M#+ExU?)s)Jw^ty4-O2deALB^*B?M=bn7yK8^=wu9WD4#oN0n)?S7Zv)prII#jO_Pm(azZ2m1R_JSc&%6116mE5H z_ip&Bam`#O??ATWS{pR29|k-po&#gTb8XPH0T^(doQE;yIX7t9mmCHG$efSo$oylP z3v1jtl;l^MBK0&OHl~UP&-pD7+jGcin&tjs0G-d*ZF_S;0F%yVxi~J>s z$QP$YDv>b?rIbh{O;I+DOo`_u#>UUf`8;O7hZT*@M{pa82Hp z)7Q%8-Q>E#?PAd|Q^>|iNyr|rq7gqakSDc70w3z2$9U{WMqbGoBR3OBB@GknBbQ&` K>z;IdmHz_;zOa4( diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/ppc/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/ppc/libspawner.jnilib index 4ab7955d32e242ef6969dd67a8a07cb9146f6d06..837cde95f063ea1342af1ab1f81fcbbf613bc5c9 100644 GIT binary patch literal 19028 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 literal 20540 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 VYHC?Eb<|P7Vg)U)owxi!`3G|{mNftX literal 13760 zcmeHOU5Fc16uy&9ZERyV)@@yXDY8hRl5Fi-EBLULPI3FATX$Qw{$2Ak-JLec#L1-H z6c<;f3x*-;i|9i|MSK($TScj|w536<3ZkG-ZefMUMv1aQQR(`fJ2TCsN~_{ixfjmd zbMHOB-!D4C^V+!~%9-I%WBg0q(N6cGbCjCVqvO$A$ zOB=Ub-d(rrH{j$P{HV8aVGN&jGM2y@&A}10=f;sXl3AXo za4xj*2Xqkzqd7R12I3$Lra_!<+Bm#1AVv8Hh;k?L{d1m4TFI9D-|3TYvf=9pX>#Zd z*eGW+{_3wWgrOV3G0kl@S}LN3PhidY!1lrWA81u^6*eh;Z>Aa&`R+O2TgnxbaaNkyS(}3^27n|f8^E3nrH{UN|auta5x);rRLaGl$dfM|No0UZ);1rf96-|;Q z8Y&kpEf>Eh4rqNHlJa#Jd(72w1ryu!l$kWkiOps*ryVfNeZ|C<iIhgj{b zd~Y}IJ*CdFsybT<_tZavM&-DpMk+Bp95yvwj@Hz#7BGHz31_q!BiT(o;YwFe{b773 zlYErqqe6bAP$Xl=yBPD7=hF5>j9JS)RY#4HKp6t|L>IGeBxP9Wg55|Bw&~{t*-r|I zZXwa_?2J0geTh*kGD#96t`o>3xUW7wfs}^qMqj-XzpM~RjU_VL{#t)HfnQF0YWMWr(cQ*v>=|!iQ<*4%&b#`t|Rc+c#aqS(NF1=D!8)8k4 z4^4MY6`|&7JL;@`vhSfsD4ShKr?=jZsH*lliVfb)mUn9@>^uDt%4Km)ZIE-P)TnPE z5vwOcm7@AUYc;kgjptA_Z!6|)5#HX`cgrcWrajSQEao*PHrRr_9; z#(A`AZ*e))e!g9yZco%%DO#JFC6^d;J3JFd1awW(chov2D7Sg@s6$ zO@B9FjQ%XZ7|B7LK4|A{+7k^{I{)sd4N(cZ(d~Uof5-1_Z|h$Nh#&~tR)7r(@IzP> z!T-Ymk=F$=jf$8GkDEoSwEw_(`QYG=2Zn}O@7mkf_1&@l&JA}ZQ|XMhhgnvc4X|7i ze}YWr+}Lx1P++l{XColN%ZEfjA|Mfv2uK7Z0ulj^oVXnbF=F4 zFQOUxpvQlJ{kJ{-F7Q*(RhWVu#-0iA&j4nnfkzKroM8NRooFEz{oDm zbkBokzu*5?S_B5^((q?@)&4vO9kNI73d!NM5%UG6u-h6@1Vb^A4CQh$`@Ysn=un>I zhkD&9=1YxRC~0rpgqi%2{>5U$SqIcQAQwhl9jI0a`GtU02tGroje>e8^l?Eg6x2aM z4hm|cpneMKr=Z_oLH!iu7=n#3^cBP&LZw5fO$c=fkuLI3P(KB}1O)Cq55A|APxGu{ z>?;)*UHsta7ZAs#n79YqLO4g8NYRQ}%U@!ZZT2RgWBc=OG)_?KUrgp&8Ee+ntDdS>A)zwpL m;|B9e#BrGgE5hSEryCxh)${vSX&K!@eZ*_QaRX+|ul}Fr`MF{M diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86/libspawner.jnilib index a35c8c38c14fe7b013c9b0190497787d9b783a73..45eb1bc02ac997593db53a628751dd83d1a84f07 100755 GIT binary patch literal 15596 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 C6mPx& literal 19472 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 ewYh8CU7a1%xO)bqgbLlEbH)E?*>VE*Te&7-S diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libpty.jnilib index 16909aecfb6c00209b6e00bb687345b9dc272a30..e0db015894c56686622212174bf1a8c33f0002b4 100644 GIT binary patch literal 9896 zcmeHNZ){W76~E3ONNECw5=Oexx*e=#n&M=okZs)*D&F*<(4|dMf!6Kf*iP&c+rfS& zF`B1zCKXSwW_(yXs=bn4+@$Lh#xtK9WIb&=Q>Jrqk3dRPQ6A)u{s1KAe z#(A5vvrUj@Hx}CrP2$kWDp5%%70xw(pJu@pK3m@vVn%6{0yb_@(N?hjJPd&ISR&LB z>EAfqq+-NVK0z?J@M6cY8ig-)d=BkCY+2P#@X1yg(nVQ$^)``_{)ERkm!k1I#6v z>~%`~Co;fDPhtF#dz(>d9fkDzdUqt|4tczhSf9JEX(Qjb!QCC~=+P4OPltnmz)$7V zs3hC=hYk0+zjLIrzU#Fwqj%nm1{2d-NskkP zYtZjri}its{benvRA_&wQf?r-?Ii-7Q^r5T*gbQojM4FFLZ!KAPR5d`4(5)>qO?G& zt%;cC57j?X?@QztN^(0G-&L!Db#6%%g&NrNv;L zM{bvLlL@KBdl)qj$9*z{Uc6Kp8QRin0AtaV3LeQ=3ZY2Jz9bH9@A zfdi6RxaX>Ejseg}X3ZN&q+(!iMN`(h9@uNVoL^1n;%(8(!5R=k| za?x6HD*~rUPhJ*rlm1E$^Oz1aSj9LzKhCsjXc#w|ow_nLxp-KaqREYKPMPl`XXt0) zgi-xZ<{2Oa4jo3Mm~Yq^ZKAcDUlO-srjjO0EH{#u%@;rzR?d^Q$u&mO{5fsnkVj)K zOW+{J;Tl~zZz$*0)Z0zp$nVi^JvoTDb|LBJ;~LR)%t#KJUWg53`tFC(BWh~=eXL^y z@UiNCK*!W{J8=!sT;^B73N@FI!m$|$87D&KuP|9o^vqO?aK!16e`0g>w=(DsK7Wc3 zqw+N&B@dN4JTL|_X&oMz0z~EPz*VBD>C@DkNB@<}>0&T-npoJfgYSXA|1>FN+U9GhO5b5_(Urf5XvlAUi=E^2_VbkDz;O!OJEjU>WrWsvhEAr4Ct9>( z8pu!pc9wc+? z%0ycs+C`$pGc@Q+L|ZM|rJ{9;c7E3k~9 z%LLs|&;^3NOwb5H^td%KL{K|H^!pR&An0|1=wW^06@vN+dV!!cLC+ENB0=9J=*I;0 z5p;r}FhRov`2e|n{(WvdW9{6P+&94iGko_O{@!5n=~hqHQd6{XP6gHH3V6A_oo-6LiJp@M*=&S%RiNPP{$ zRTSdij=J(XmW%RPi~Oev1X-$_?758k*bU2`;C%d& zek(sjq@MT!{cs%Fh6+9NiZYMiZZ)qi^&Gy19^3yD3!Inu$^U zz3gx^F5`USmYsLt{u!^l#H)_ItA&I=8jTQTud7HwrzhA=^amt8>g`F8W}-EK<_&}* zK0=xV66p;S(o9HqB<3eX1=8i$x}srEi0~E*j|YX^PGG@^R}-`B1`_G<3mpN#QNKqp z^#InqP~y>Wmkb?!f)JY_^gBT5jRrNEl8S@lja&sO!}~y{P_qsEJRI?R0}<9qw~IUy z?c#oKcd#es=U$)2<65vg#=*;5+IF!$7J1D5EP8Iel=Yb?cZGn7E-3*XECHbFpK#aNYr9>#e#f?6`uJKR;L8b|Y zyMtjr(n>xrxaj*Em-YQkjPY9^v%-TTWBtFBvQEkZgk~Meh0irhOrE?2%!b_f9}f9K z1PfAyNI8_eC@aZCM4-$?ydb4vJFGN5>lZ*I@L3e=H$jl{yC(BEI?CWOch6*Pf+%0h XOl{>sD?1nDWq@`@mZ^BoZw~u6fJ-A- literal 9320 zcmeHNeQaA-6~FG%G#N>gjh3yjm1s~lOz6 zmpZQs3q$TP1TB=r?auqM3kq^ z%;nD|yE4wk8R6MGg0PzrrhmB~`NC|mky`O0nX6$827|9#*Q+k(h9!i_3 zNPJu=y!9@rcz!kS%C5gRHs?l|A5R5ihP3d;YuYLGYuGCSl4(y}z`h=Hd7`wh4v_QS zo}nJnC~)_46H41eaozklAInC^T<6W>x#8$o)#i1}Q*xX~gYMQQ&D3rAwW~m3}JLhJ2w&v1vBX6l$TrsOcrJ^{s1trRlF>;~QotkrjR`V(n? zEEr0pC;gLwL;TP|e>5_hG_##wjz_@3p5P-u@_qKmwTBN}T6v`L11?YD;03@J(5jF$qSl8AEaRYR~|HHMK4r#v^I%-`Q@@VDZ z&sw$GGg#f%*2GxbM_F~>PB6o|bxqG#26QX8q+6Lq-5Q?Lt;5BBOS?F$m6=}1m7Sj> zuJv2p)|RYx8f`XR%(j%Y^Hsog8?!2_|;c?pxy6`4uqi*`V_hl?|GU2-frb&;8Spu8xjXU5H@sf$#z^Ms5`yse#| z|D7tUOO%C-OUyrJOq9AC{J16`FLgJKJTu#UC#u{2CPlV1=lYBAMO>%tf~Zl?7n@GC z!(d(-tSleJ?8>d#X3W~TC6S*@VgZ+DOS_rR-DKI_&bJ`hEWfrbb6-ijOr2VO91)ff zc>63fZSAI|U0(L<1#LyI(#nXISiE0V{V!Y+B*7 z2a%=o7?z}3&_susEmV!&-EL{+f%XzRa~j*`{KJ)~ z>9VMIz*^eXeC{gC-eu>mIDdemq%Baieg$EL`s@N zb|r0$YdT+Jpl5i>nu2 zqtw-MVgZLXO}9jJ#HB^nySn}(wT2hyH`;4yufu#v7ZnyMpq(kwq5L%^CgQEw+Uq!z z*dd$?oH;$T2%{A{=QtmuAF5Wl6@mWxBkvVA%CBUUe6GSWI6xI@x~)~#^Xb5^YYpdb z#Tu^Ixr%ch_Un`XYqFKvWGl`$5t~l-dbyhS+%LvXF?NaZQ86AA;~|WU;mUdq$K(1-H>y?e%}`!{QSzKSTUc$^V%60m;8Ye6Qql#0MlFA%1_2eTU>N((jV|_la);pZrP+H#8F`CbQ2E zJoWV85bHYd=qC?;>d>bHj|E3VW5#i2npxJzVnO`J!wnC0h`{&!)66&7?rU$^(L@)9 z{m|V9{L??_3{fBzQj zsXsqb_W3Q?Q-9vsVtm$KQ13v!1N9EnJ5cXHy#w_Q)H_h`K)nO?4%9nP@4)}R1N2T1k3JgjRkTA< zdPhk5E=2>1b}OnYI-ux?qQ?{sE1Fc)_jX(JT61F!G`G|MtR&$172E4Rivds1T}Up| z3t7M;K$2IL+zq)6vcClkU;;?;59kFd;AcRRFRA&zE4g3EdoV}yg*(X_PeGM@L&bke z$$xB;^GB8Z3wjv~7*}$i@=rtdF&{<=FL>mh0%K^u_H%U!^`fgc3Y{_F;R2zU>W&e8kv>A)NMSeQO0h|pIU!7)6P zq%RBPXBnfB_!z#Wa6iwGA06=HnRtjt6N%?CNyh0dGf$+(xeaP&AP?y8c@)xQ=bf=?fY2{j9aY?L;bKZY@QgNE-3O@i5+~vy)Emaf4Rbsd55@$SiC{jG j2$@l)0#Pp*b|)1|VlguW^Pou|Y?vXeAz4uZ4g}!eG-H{p diff --git a/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib b/core/org.eclipse.cdt.core.macosx/os/macosx/x86_64/libspawner.jnilib index b0c41c78d7c25d0d56e8845cf521c8336a67c9f1..af9d33962cbcf9f270cb926eeed0f2ca9eea30e1 100644 GIT binary patch literal 19800 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�AZLM`1#%Y1 zS>P|r0&_1ezMIcL=2klRmwGo)yVI$y-|6g#1VVM{)?EvFb$uNk54WmaMZJ~y-`qO+ zr+a4`9;D)b<#(xG^xsu167*B)UbSm!mcZ?ShDI>%DmV3^+SYcC#JURB1=|{2f=Ylu zZEY|dCbEHQ1C5O>wL}|;>gyUp1X~0&wbT*ZEudvjGeJE8pG_0A0@OuXmy>P-%?Hf8 z2|DspNcg%5@vvMp>J`w6|KE4FlebTBC@7r!1?&kmxB?Fl;%RZPS;QVRa7U;)(8Rv| zrlPe$G>sb=(QuHkp{3Rp>kJX?Y-kiPOwiIAlsP2`@Y4i*=ntX3Ks~XjHF4JL2{gFI2!n!+1@(r=bMSi+XYhZwotDrJCs^Cq&>9XpwRNr& zaT^-Lj`W{s{Q#G+-YtJ*4DSEBl&8YqaMnu zYHp3V8(kQx$x(;%Zi%=V__aJWO$2@^FBE8i>pUld*TUQ{plP}K=e%X=U|zZUSNv2) z-(`4?|JIereo~6;nPtfSb2*;oa}mnbkMqR)%GELOzO|feE72$(Q?A}lwZ4nicUGeH z#8qf5SNrni#mD3M)70Zvqx$#PAsbwc?ByH5fT?{mpD!=eEBPwFNqfeN`C&~Apx2{o z!P{jcd!`E6S3V8P@-g6|)H6}ge113wIQ9D)ml(`<5WJQlv3+c@K(!XdB0QT-{ochU zw&UGu+&u5vVQ}x|n*UxDh3J3Bc^dPLE^&CF#%~*Z!nChM8{2mq95(olk7@pYG??#3 zc>UO5yf2aKEKHF7pWzF4T>LH-@n$n#i^1pe2NQ7ZHW=?&pDf=nOV3n z3x6yNb1gIVDapcDX5kfCcvTjz%))jSUY~_;&%#@?a4-uuW#K(p_<=0^NEZHF7XG^| z{Dmz14_Wv?7XD@y{%#h2Aq)R73%`MR>DY^z>p43M^V>t%4*1g- zw+Xk#1xR#JZi9=EijlYl79(APM0e&EU~Irw{d~O6EzfO!1rpz*d;+NyiLW>L4w`2N zPC>N-X(bYlHFY)8HAodmtB|fm;ui*1BVCX5Nu*C9;i_cfHsw+9m#Swmeo>~W-jQD@ z!LJ1c7y&sFpg6ToAQTF;EBvfZ5I3$Aa`2NqjSbB~1WoCnrKW%4N#=@b|{dJDs@|{Xcu_8`?+cJms$X(Z`7ZZ8wC9>YJr$y-f^!p=qhLUef}ywx!gcs9Guf>t zv^$7R!cg1UZURx+Gk`j(PKDDfbsSBKu_H@H&L(8mv9gYUQqi%)FQh0P52piR5{!VI qa4PiWc4W-U(ijGmj&kvXQ98WMh-*Qn0@`#W>u7b~_mK$a*Z%^n?4@-8 literal 14872 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 #include @@ -17,4 +18,9 @@ extern pid_t exec0(const char *path, char *const argv[], char *const envp[], const char *dirpath, int channels[3] ); +extern pid_t exec_pty(const char *path, char *const argv[], + char *const envp[], const char *dirpath, + int channels[3], const char *pts_name, int fdm, + int console); + extern int wait0(pid_t pid); 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 f943d8afa6c..87241989a04 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_pty.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_pty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2006 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,8 +8,10 @@ * Contributors: * QNX Software Systems - initial API and implementation * Wind River Systems, Inc. + * Mikhail Sennikovsky - bug 145737 *******************************************************************************/ #include "exec0.h" +#include "openpty.h" #include #include #include @@ -22,11 +24,11 @@ #include /* from pfind.c */ -extern char *pfind(const char *name); +extern char *pfind(const char *name, char * const envp[]); pid_t exec_pty(const char *path, char *const argv[], char *const envp[], - const char *dirpath, int channels[3], const char *pts_name, int fdm) + const char *dirpath, int channels[3], const char *pts_name, int fdm, int console) { int pipe2[2]; pid_t childpid; @@ -36,7 +38,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], * We use pfind() to check that the program exists and is an executable. * If not pass the error up. Also execve() wants a full path. */ - full_path = pfind(path); + full_path = pfind(path, envp); if (full_path == NULL) { fprintf(stderr, "Unable to find full path for \"%s\"\n", (path) ? path : ""); return -1; @@ -45,7 +47,7 @@ exec_pty(const char *path, char *const argv[], char *const envp[], /* * Make sure we can create our pipes before forking. */ - if (channels != NULL) { + if (console && channels != NULL) { if (pipe(pipe2) < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); free(full_path); @@ -66,6 +68,11 @@ exec_pty(const char *path, char *const argv[], char *const envp[], if (channels != NULL) { int fds; + if (!console && setsid() < 0) { + perror("setsid()"); + return -1; + } + fds = ptys_open(fdm, pts_name); if (fds < 0) { fprintf(stderr, "%s(%d): returning due to error: %s\n", __FUNCTION__, __LINE__, strerror(errno)); @@ -73,17 +80,29 @@ exec_pty(const char *path, char *const argv[], char *const envp[], } /* Close the read end of pipe2 */ - if (close(pipe2[0]) == -1) + if (console && close(pipe2[0]) == -1) { perror("close(pipe2[0]))"); + } /* close the master, no need in the child */ close(fdm); - set_noecho(fds); + if (console) { + set_noecho(fds); + if (setpgid(getpid(), getpid()) < 0) { + perror("setpgid()"); + return -1; + } + } + /* redirections */ dup2(fds, STDIN_FILENO); /* dup stdin */ dup2(fds, STDOUT_FILENO); /* dup stdout */ - dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + if (console) { + dup2(pipe2[1], STDERR_FILENO); /* dup stderr */ + } else { + dup2(fds, STDERR_FILENO); /* dup stderr */ + } close(fds); /* done with fds. */ } @@ -96,8 +115,6 @@ exec_pty(const char *path, char *const argv[], char *const envp[], close(fd++); } - setpgid(getpid(), getpid()); - if (envp[0] == NULL) { execv(full_path, argv); } else { @@ -109,16 +126,21 @@ 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 (console) { + set_noecho(fdm); + } if (channels != NULL) { /* close the write end of pipe1 */ - if (close(pipe2[1]) == -1) + if (console && close(pipe2[1]) == -1) perror("close(pipe2[1])"); channels[0] = fdm; /* Input Stream. */ channels[1] = fdm; /* Output Stream. */ - channels[2] = pipe2[0]; /* stderr Stream. */ - //channels[2] = fdm; /* Input Stream. */ + if (console) { /* stderr Stream. */ + channels[2] = pipe2[0]; + } else { + channels[2] = fdm; + } } free(full_path); 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 207197bcb40..3098b9197d7 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2006 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * QNX Software Systems - initial API and implementation * Wind River Systems, Inc. + * Mikhail Sennikovsky - bug 145737 *******************************************************************************/ #include "exec0.h" #include @@ -19,7 +20,7 @@ #include /* from pfind.c */ -extern char *pfind(const char *name); +extern char *pfind(const char *name, char * const envp[]); pid_t exec0(const char *path, char *const argv[], char *const envp[], @@ -33,7 +34,7 @@ exec0(const char *path, char *const argv[], char *const envp[], * We use pfind() to check that the program exists and is an executable. * If not pass the error up. */ - full_path = pfind(path); + full_path = pfind(path, envp); if (full_path == NULL) { fprintf(stderr, "Unable to find full path for \"%s\"\n", path); return -1; @@ -135,9 +136,18 @@ int wait0(pid_t pid) int status; int val = -1; - if (pid < 0 || waitpid(pid, &status, 0) < 0) + if (pid < 0) return -1; - + + for (;;) { + if (waitpid(pid, &status, 0) < 0) { + if (errno == EINTR) { + // interrupted system call - retry + continue; + } + } + break; + } if (WIFEXITED(status)) { val = WEXITSTATUS(status); } diff --git a/core/org.eclipse.cdt.core.solaris/library/openpty.c b/core/org.eclipse.cdt.core.solaris/library/openpty.c index b21ed5d848c..b1bf0895c0a 100644 --- a/core/org.eclipse.cdt.core.solaris/library/openpty.c +++ b/core/org.eclipse.cdt.core.solaris/library/openpty.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. *******************************************************************************/ #include #include @@ -28,7 +29,7 @@ */ int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp) @@ -85,7 +86,7 @@ ptym_open(char * pts_name) } int -ptys_open(int fdm, char * pts_name) +ptys_open(int fdm, const char * pts_name) { int fds; /* following should allocate controlling terminal */ diff --git a/core/org.eclipse.cdt.core.solaris/library/openpty.h b/core/org.eclipse.cdt.core.solaris/library/openpty.h index a32845e84d7..06b9fa758c7 100644 --- a/core/org.eclipse.cdt.core.solaris/library/openpty.h +++ b/core/org.eclipse.cdt.core.solaris/library/openpty.h @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,11 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. *******************************************************************************/ #ifndef _OPENPTY_H #define _OPENPTY_H int ptym_open (char *pts_name); -int ptys_open (int fdm, char * pts_name); +int ptys_open (int fdm, const char * pts_name); void set_noecho(int fd); #endif diff --git a/core/org.eclipse.cdt.core.solaris/library/pfind.c b/core/org.eclipse.cdt.core.solaris/library/pfind.c index 2e278b2f68d..635d66f5193 100644 --- a/core/org.eclipse.cdt.core.solaris/library/pfind.c +++ b/core/org.eclipse.cdt.core.solaris/library/pfind.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002 - 2005 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,9 @@ * * Contributors: * QNX Software Systems - initial API and implementation + * Wind River Systems, Inc. + * Mikhail Sennikovsky - bug 145737 + * Everton Rufino Constantino (IBM) - bug 237611 *******************************************************************************/ /* * pfind.c - Search for a binary in $PATH. @@ -23,46 +26,67 @@ #endif -char *pfind(const char *name) +#define PATH_DEF "PATH=" +const int path_def_len = 5; /* strlen(PATH_DEF); */ + +char * path_val(char * const envp[]) +{ + int i; + if (envp == NULL || envp[0] == NULL) + return getenv("PATH" ); + + for(i = 0; envp[i] != NULL; i++){ + char* p = envp[i]; + if(!strncmp(PATH_DEF, p, path_def_len)){ + return p + path_def_len; + } + } + + return NULL; +} + +char * pfind(const char *name, char * const envp[]) { char *tok; char *sp; char *path; char fullpath[PATH_MAX+1]; + /* Sanity check. */ if (name == NULL) { fprintf(stderr, "pfind(): Null argument.\n"); return NULL; } - /* For absolute namer or name with a path, check if it is an executable. */ + /* For absolute name or name with a path, check if it is an executable. */ if (name[0] == '/' || name[0] == '.') { - if (access(name, X_OK | R_OK) == 0) { + if (access(name, X_OK) == 0) { return strdup(name); } return NULL; } /* Search in the PATH environment. */ - path = getenv("PATH"); + path = path_val( envp ); + if (path == NULL || strlen(path) <= 0) { fprintf(stderr, "Unable to get $PATH.\n"); return NULL; } - // The value return by getenv() is readonly */ + /* The value return by getenv() is readonly */ path = strdup(path); tok = strtok_r(path, ":", &sp); while (tok != NULL) { snprintf(fullpath, sizeof(fullpath) - 1, "%s/%s", tok, name); - if (access(fullpath, X_OK | R_OK) == 0) { + if (access(fullpath, X_OK) == 0) { free(path); return strdup(fullpath); } - tok = strtok_r(NULL, ":", &sp); + tok = strtok_r( NULL, ":", &sp ); } free(path); @@ -76,7 +100,7 @@ int main(int argc, char **argv) char *fullpath; for (i = 1; i= 0) { - // turn off echo - set_noecho(master); + if (console) { + // turn off echo + set_noecho(master); + } /* Get a reference to the obj's class */ cls = (*env)->GetObjectClass(env, jobj); @@ -46,3 +48,20 @@ Java_org_eclipse_cdt_utils_pty_PTY_openMaster (JNIEnv *env, jobject jobj) { } return jstr; } + +JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_pty_PTY_change_1window_1size + (JNIEnv *env, jobject jobj, jint fdm, jint width, jint height) +{ +#ifdef TIOCGWINSZ + struct winsize win; + + win.ws_col = width; + win.ws_row = height; + win.ws_xpixel = 0; + win.ws_ypixel = 0; + + return ioctl(fdm, TIOCSWINSZ, &win); +#else + return 0; +#endif +} diff --git a/core/org.eclipse.cdt.core.solaris/library/spawner.c b/core/org.eclipse.cdt.core.solaris/library/spawner.c index b9215330f27..1d221516a54 100644 --- a/core/org.eclipse.cdt.core.solaris/library/spawner.c +++ b/core/org.eclipse.cdt.core.solaris/library/spawner.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2006 QNX Software Systems and others. + * Copyright (c) 2002, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -89,13 +89,13 @@ static void free_c_array(char **c_array) */ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 (JNIEnv *env, jobject jobj, jobjectArray jcmd, jobjectArray jenv, jstring jdir, jintArray jchannels, - jstring jslaveName, jint masterFD) + jstring jslaveName, jint masterFD, jboolean console) { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); const char *pts_name = (*env)->GetStringUTFChars(env, jslaveName, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; @@ -119,7 +119,7 @@ JNIEXPORT jint JNICALL Java_org_eclipse_cdt_utils_spawner_Spawner_exec2 fprintf(stderr, "pts_name: %s\n", pts_name); #endif - pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD); + pid = exec_pty(cmd[0], cmd, envp, dirpath, fd, pts_name, masterFD, console); if (pid < 0) goto bail_out; @@ -146,8 +146,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec1(JNIEnv * env, jobject jobj, jstring jdir) { const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; pid_t pid = -1; cmd = alloc_c_array(env, jcmd); @@ -193,8 +193,8 @@ Java_org_eclipse_cdt_utils_spawner_Spawner_exec0(JNIEnv * env, jobject jobj, { jint *channels = (*env)->GetIntArrayElements(env, jchannels, 0); const char *dirpath = (*env)->GetStringUTFChars(env, jdir, NULL); - char **cmd; - char **envp; + char **cmd = NULL; + char **envp = NULL; int fd[3]; pid_t pid = -1; 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 2333a6dd6a49c3ee472e3104f10a27b953780243..7e5763d186c3396a3adf4366fbd9888baf7c7ec8 100644 GIT binary patch literal 10608 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 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 46c86d9f9e777689cda1227942ced18cf36e49db..bcee084b3736244696b6764b3e835f573c7b17a6 100644 GIT binary patch literal 21264 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 Y{|O!wOkK|-!Sp#`AI|G|O)TU4AMq~JWB>pF literal 19428 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 QkNO$wO~TrDZCUE~KUXKYdH?_b delta 4542 zcmZ`+3sh5A7JWB@gl{4QNFaPe!rvw^@8yBQLNpT8Dk>`Y<0~qEH7He3Fvc3u5j_3a zYOSV0q>99=<}(DVK96Hs<59$J9DoS z?04~(n6m0BcUty585poSMc8-3UY7va;o?P#u@x0O0Y|lF;TWsM^c(thrtM)je(<%6 zk$ea-;svAvHjC%-3N$zOhFT4MO@==6!vT}1C%egDr=I(94j8k^&`Y1}!%uzm=@xjp zrYdIPV5=pYsyE22QzFn-OndcE>{>+haK$x*_=6qqKZDpUgxrKEw^-5y*={dy29EqgpKwexdoH_fbJo;e>lQxo^ASzKW1cnCfXH zX|T&Pg~Y(8o&m%K?4IGI4cxuvkz-KcRY+ptvR5W)1TV=XvIepwN|Fo}k}$%+E=dqs z2=7R=&v)#1jp)C=`;3LL5v;7xg_J&MFp=tuQV?OO`--KsxaTOTYxGH9&z{ZwDx1 zcl!*b@Ih0WQ2*9Jf~LI~^WJ2@4iDO7eJ&arF`&F6Lf&hvDJS@(PE=UcsA_IVBCZ zK2tLu>muJ3>tZg{DZ|K0*st78J_23P9ufrCf>c=aKj8ff@D5gy6Tk&0VSQBxFOev) znuOB$mFoEh?gZBmi)~Iw03pp#7HX77drUsGTpl9qXF13%eeKPbePQ2F0uF!)P?q8ydqj)rIvP+M~CGcb%nnkcY7-+!>frL zc7}&YXFj6d+J?M6c87D}x#UgoQ!OSZVT~#*EX#dRvT#^jy(nXv2Q$=Ukka@%cet(A zkgws6YBrup<0FpaNpLqp>*?h-BneC64G2_EaGQx4GxsW+EOwBF`AN3))5!Lr$Xc+d zr%Eyf6RZ@$w>#WYM~dDT!{1c_5Tx-X>5!<2^!FB1KOVFe7SF+h+i;i)`4gJP~&F@Ber4vFjp^nFwO9G^u+Y?l)6g#5{tI9TQ8Y>to=LBMN$m|ve#(W z^qPL^lSQ9yw+9At7cIG@Yd5DNg(5Tx4X+%ouY$US zPyIagZYoYRlwr~k+O+LjPo1xBvu?XCG%+f%f?dXCC;ve!}Nnx9k zCM8uRZBN>sd??u`<&{(hm3m;tigZg7ObM?ioJhEkur2X=qJq`2Guc&aExVOH#GYa= zuwCp=>=V|DQ*a4f1~-Q*<*K>O+zIX;_ka`Yz4fX3`T8ooMZZ^nM1NBM7yU*3C;G4S zfqWz%$Mbv!pT+0!rF?8PU&}Z0R(>Df%3tHZ;Jf)AzMm&a9!avK;3QqroTOz*6-hNo zZzLUo$%YD2Z98pX$EbIpMuM{y;ba-chF8A>LwAD|B$+Ci6xZOXRr&%l>HedckCEwjV0w_LhP~5NKGhEX({PU|;j?KfnKFK~hbH8W@vv`N z@TQ|eb9CoN$V|Zxm8TMJBa@&Q&HRAO!661?<4=Mc*ofaDPe;Wd(>275VaA)5)tb<* zL0BG!8AHCtzW3m*>2HaOmC!jW*tre|oPw$us?1XkYt@7Ne%vunUB}_Ua?gQTh0N5@ z(Ka?@X5h+)MEBB`gU3)jK+l8?TMtVs2Gz44ilpJtzAm6e>*T*1t(wFC+e!){Gi{<@ zBT#YxXqSs=^Wn@d$pN@NOQr5q58LPEK3Y8a1~V}1rvYA{vkT)EWEaEznJ(DUEnuN@ZZkQI z+%Lkt6guWrV2k#Y&NsrVb2+dh=4ZP?%KUgJSzv^d^EvnyQM-VH!W<(UL+nP3%i&;Y zt`UwP-a(AYDD5ne*Pvb34-P*73|m-1SKRvEPCmxF96YA7(mZp7{aBQZkQA{LewqKX1kff!YY zDvD4AVi#gW5vnLg6^J*An<2E=6;_rM!u4e>_#IkMaue^=N9A%cR$?X)zeUupL=~l&3B+#1xKhkS8EQbhgBVqY8p=@vVi#gWIclgt4Tv`o zLn|;7l^74P6H!@-nW(}{Abx@@=Q z=3|*P%$p=GGF7c!gC~b=R_$wqbiwz}WvI8s43`<*)rI&;l;gmdkl`VBJ&S4Gh4(i2 zaD6UW0U;YyKAjGhCHM`N5A!x;__Rll_IUw$BOKpgBcV`Kmw_IR)|FxL`q!5cDVXb3 zL<@)NRcfPyw>12m%yM8BPzLVTvp7nJ1|;g#Gq&_BVw>Ls_+l(pBq`y4gY9V`Mf(~nYXTJP0@PN8F8G%@13%|=TgrUwBldJk q#WmH;0XV)TgEYX;TUb$F42-vg<1)>*l;Ms)Z@EPhY + * The provided flag indicates whether the pseudo terminal is used with the interactive + * Eclipse console: + *
    + *
  • If true the terminal is configured with no echo and stderr is + * redirected to a pipe instead of the PTY.
  • + *
  • If false the terminal is configured with echo and stderr is + * connected to the PTY. This mode is best suited for use with a proper terminal emulation. + * Note that this mode might not be supported on all platforms. + * Known platforms which support this mode are: + * linux-x86, linux-x86_64, solaris-sparc, macosx. + *
  • + *
+ *

+ * + * @param console whether terminal is used with Eclipse console + * @throws IOException if the PTY could not be created + * @since 5.2 + */ + public PTY(boolean console) throws IOException { + this.console = console; + if (hasPTY) { - slave= openMaster(); + slave= openMaster(console); } if (slave == null) { @@ -66,6 +100,15 @@ public class PTY { return new MasterFD(); } + /** + * @return whether this pseudo terminal is for use with the Eclipse console. + * + * @since 5.2 + */ + public final boolean isConsole() { + return console; + } + public PTYOutputStream getOutputStream() { return out; } @@ -74,11 +117,42 @@ public class PTY { return in; } + /** + * Change terminal window size to given width and height. + *

+ * This should only be used when the pseudo terminal is configured + * for use with a terminal emulation, i.e. when {@link #isConsole()} + * returns false. + *

+ *

+ * Note: This method may not be supported on all platforms. + * Known platforms which support this method are: + * linux-x86, linux-x86_64, solaris-sparc, macosx. + *

+ * + * @since 5.2 + */ + public final void setTerminalSize(int width, int height) { + try { + change_window_size(master, width, height); + } catch (UnsatisfiedLinkError ule) { + if (!setTerminalSizeErrorAlreadyLogged) { + setTerminalSizeErrorAlreadyLogged = true; + CCorePlugin.log(CCorePlugin.getResourceString("Util.exception.cannotSetTerminalSize"), ule); //$NON-NLS-1$ + } + } + } + + /** + * @return whether PTY support is available on this platform + */ public static boolean isSupported() { return hasPTY; } - native String openMaster(); + native String openMaster(boolean console); + + native int change_window_size(int fdm, int width, int height); static { try { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/spawner/Spawner.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/spawner/Spawner.java index a8e40c6408d..aad306f08ce 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/spawner/Spawner.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/spawner/Spawner.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2008 QNX Software Systems and others. + * Copyright (c) 2000, 2010 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,7 +7,7 @@ * * Contributors: * QNX Software Systems - Initial API and implementation - * Anton Leherbauer (Wind River Systems) + * Wind River Systems, Inc. - bug 248071 *******************************************************************************/ package org.eclipse.cdt.utils.spawner; @@ -262,6 +262,7 @@ public class Spawner extends Process { final String slaveName = pty.getSlaveName(); final int masterFD = pty.getMasterFD().getFD(); + final boolean console = pty.isConsole(); //int fdm = pty.get Reaper reaper = new Reaper(cmdarray, envp, dirpath) { /* (non-Javadoc) @@ -269,7 +270,7 @@ public class Spawner extends Process { */ @Override int execute(String[] cmd, String[] env, String dir, int[] channels) throws IOException { - return exec2(cmd, env, dir, channels, slaveName, masterFD); + return exec2(cmd, env, dir, channels, slaveName, masterFD, console); } }; reaper.setDaemon(true); @@ -318,7 +319,7 @@ public class Spawner extends Process { /** * Native method when executing with a terminal emulation. */ - native int exec2( String[] cmdarray, String[] envp, String dir, int[] chan, String slaveName, int masterFD) throws IOException; + native int exec2( String[] cmdarray, String[] envp, String dir, int[] chan, String slaveName, int masterFD, boolean console) throws IOException; /** * Native method to drop a signal on the process with pid.