summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qprocess.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright headersAkseli Salovaara2015-03-311-13/+13
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I7e3e96183e073877b46bc8071b2ccae19e69426b Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
* Updated year in copyright headerKai Koehne2014-03-261-1/+1
| | | | | | | | | | | | | | | | | | find . -path '*/3rdparty/*' -prune -o -type f -print | xargs -L1 sed -i -E 's/Copyright(.*) 2013 Digia/Copyright\1 2014 Digia/g' Manually patched files: demos/spectrum/3rdparty/fftreal/fftreal_wrapper.h demos/spectrum/3rdparty/fftreal/fftreal_wrapper.cpp src/3rdparty/s60/eiksoftkeyimage.h tools/qdoc3/test/qt-project.qdocconf tests/auto/qsharedpointer/nontracked.h tests/auto/qsharedpointer/nontracked.cpp Change-Id: I3f9074923b4d6bd4666258ab04f01476cc6e901c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash in QProcess::waitForStarted() on Unix.Christian Strømme2013-08-291-3/+3
| | | | | | | | | | | | Invoking waitForStarted() on a QProcess before or after an unsuccessful call to start() (e.g., with an empty command), would execute FD_SET with an invalid file descriptor and cause the process to abort. The bug can be reliably reproduced on OSX. (cherry-picked from qtbase commit c8d9b17367cfdcb034d11f8a168ca4ae3993e7c3) Task-number: QTBUG-32958 Change-Id: Id25b7781168489281645e21571361ca1a71d43e3 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* restore QProcessEnvironment shared data thread safety on unixOswald Buddenhagen2013-08-121-7/+28
| | | | | | | | | | | | | | | | | | implicit sharing together with 'mutable' is a time bomb. we need to protect the nameMap, because concurrent "reads" may try to insert into the hash, which would go boom. we need to protect the key/value of Hash objects, because while the refcounting is atomic, the d pointer assignments are not, which would also go boom. we can simply use a QMutex to protect the whole environment, because it is very cheap in the uncontended case. Task-number: QTBUG-30779 Change-Id: Iaad5720041ca06691d75eb9c6c0e1c120d4a7b46 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> (cherry picked from qtbase/85e61297f7b02297641826332dbdbc845a88c34b)
* Update copyright year in Digia's license headersSergio Ahumada2013-01-131-1/+1
| | | | | | Change-Id: I52bf8ef0447b701b4ebf7d7d240013a72adb9425 Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-291-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: I280c0a575987d1770e354b4948f1d4d767d711ea Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Refactor coreservices -> ios & QT_NO_CORESERVICES -> Q_OS_IOSIan Dean2012-09-181-2/+2
| | | | | | | Similar work was done in Qt5 in Change Id3b02316 Change-Id: I392d2a5bfffb9a335f28d5dbc5ea27b800fc4487 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Update contact information in license headers.Sergio Ahumada2012-08-011-2/+2
| | | | | | | | | | | | | - Replace Nokia contact email address with Qt Project website. - Remove "All rights reserved" line from license headers. As in the past, to avoid rewriting various autotests that contain line-number information, an extra blank line has been inserted at the end of the license text to ensure that this commit does not change the total number of lines in the license header. Change-Id: Ie7ba62011752fcb149b99b26317c54f2a0cfa931 Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
* Fixes QProcess on QNXRafael Roquetto2012-02-201-11/+12
| | | | | | | | | | | | | | This patch first re-enables childStartedPipe on QNX and uses, just like other platforms, to monitor the inferior process life cycle. This also aligns QNX-specific code logic closer to the common QProcess logic, making it unecessary to have custom versions of functions such as QProcess::waitForStarted(). The only difference that remains is the use of spawn() instead of fork(), because both fork() and vfork() do not support multi-threaded applications on QNX and will segfault. Change-Id: I8e1f9823629fcb5e7c3c128fafc2542a403b969e Reviewed-by: Sean Harmer <sh@theharmers.co.uk> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Update year in Nokia copyright messages.Jason McDonald2012-01-111-1/+1
| | | | | | | | | Simple search and replace. This commit doesn't touch 3rd-party files, nor translations (where the change is not so simple and will be handled in a separate commit). Change-Id: I4e48513b8078a44a8cd272326685b25338890148 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* docs: Typo and link fixes.jaanttil2011-09-271-1/+1
| | | | | | | | | | | Task-number: QTBUG-9224 Task-number: QTBUG-13442 Task-number: QTBUG-19858 Task-number: QTBUG-20957 Task-number: QTBUG-21447 Merge-request: 1402 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix QProcess emitting two started signals on X11Christian Strømme2011-07-071-7/+4
| | | | | | | | | | | | | On X11 QProcess would emit two started signals when calling QProcess::waitForStarted(). We should expect that the private implementation of waitForStarted() should emit the started signal and return true or false appropriately. Task-number: QTBUG-7039 Change-Id: I3d381399ab7a39bf57db03a110fa6747a4fc6a24 Reviewed-on: http://codereview.qt.nokia.com/331 Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com> (cherry picked from commit 883b120d2f39c532cdd1a98d962af83be5adc4bd)
* make QProcess really work on QNXRitt Konstantin2011-06-211-0/+10
| | | | | | | a multi-threaded QNX Process can't fork properly so we call spawn() instead Merge-request: 1259 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
* Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* don't crash in QProcessEnvironment::systemEnvironment()Oswald Buddenhagen2011-05-041-12/+0
| | | | | | | | as the implementations moved to platform-specific files, the QSharedDataPointer<QProcessEnvironmentPrivate>::detach() specialization needs to go to the private header. Reviewed-by: thiago
* make QProcessEnvironment::systemEnvironment() encoding-safeOswald Buddenhagen2011-04-291-15/+2
| | | | | | | | | | on unix, don't do the roundtrip over unicode. on windows, use the WinAPI unicode environment instead of the 8-bit CRT environment. Reviewed-by: thiago Reviewed-by: dt
* make QProcessEnvironment on Unix cache converted variable namesOswald Buddenhagen2011-04-291-4/+13
| | | | | | | | the converted keys also cache their hash, as they are used only for the purpose of looking up in a qhash. Reviewed-by: thiago Reviewed-by: dt
* move key/value converters to the private classOswald Buddenhagen2011-04-291-24/+5
| | | | | | | this will enable them to access other members later Reviewed-by: thiago Reviewed-by: dt
* make QProcessEnvironment on Windows preserve variable name caseOswald Buddenhagen2011-04-291-1/+1
| | | | | | | | | | | | | | | while windows itself does not care which case the variable names are in, they may be passed to unix tools which *do* care. note that this uses true case folding for string comparisons while windows uses uppercasing. this means that "ess" and "eß" will be considered the same by us, while not by windows. this is not expected to have real-world impact, particularly because non-ascii variable names are not used much. Task-number: QTCREATORBUG-3110 Reviewed-by: thiago Reviewed-by: dt
* split QProcessEnvironmentPrivate::Unit into Key and ValueOswald Buddenhagen2011-04-291-8/+8
| | | | | Reviewed-by: thiago Reviewed-by: dt
* remove unused functionsOswald Buddenhagen2011-04-291-12/+0
| | | | | Reviewed-by: thiago Reviewed-by: dt
* minor optimization: use QList::reserve()Oswald Buddenhagen2011-04-291-0/+2
| | | | | Reviewed-by: thiago Reviewed-by: dt
* use the Hash typedefOswald Buddenhagen2011-04-291-6/+6
| | | | | Reviewed-by: thiago Reviewed-by: dt
* Merge remote branch 'qt-master/master'Guoqing Zhang2011-04-051-2/+47
|\
| * Add methods for traversing and combining QProcessEnvironment.Thomas Sondergaard2011-04-041-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New methods that make QProcessEnvironment more friendly. With these two new functions developers no longer have to resort to using QStringList and use the deprecated QProcess::setEnvironment() method. New methods: - QStringList QProcessEnvironment::keys() - void QProcessEnvironment::insert(const QProcessEnvironment &). Merge-request: 1152 Reviewed-by: ossi Reviewed-by: thiago
| * Build QProcess on platforms that don't have _NSGetEnvironcon2011-03-101-2/+2
| | | | | | | | Reviewed-by: Jørgen Lind
* | Added a note to docs about killing processes in Symbian.Miikka Heikkinen2011-03-031-0/+3
|/ | | | | Task-number: QT-4659 Reviewed-by: TrustMe
* Merge remote branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-01-171-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/webkit/imageanalyzer/imageanalyzer.h examples/webkit/imageanalyzer/mainwindow.h mkspecs/unsupported/qws/linux-x86-openkode-g++/qplatformdefs.h src/corelib/io/qfsfileengine_iterator_unix.cpp src/corelib/io/qfsfileengine_iterator_win.cpp src/corelib/kernel/qcoreapplication.cpp src/network/access/qnetworkaccessdatabackend.cpp src/plugins/bearer/connman/qconnmanservice_linux.cpp src/plugins/platforms/openvglite/qwindowsurface_vglite.h src/s60installs/bwins/QtCoreu.def src/s60installs/eabi/QtCoreu.def src/s60installs/s60installs.pro tools/assistant/tools/assistant/helpviewer_qwv.h tools/qdoc3/test/qt-html-templates.qdocconf
| * Update copyright year to 2011.Jason McDonald2011-01-111-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | handle O_NONBLOCK'ed pipes specific error on write()Ritt Konstantin2011-01-111-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | according to the write(2) docs: When write requests greater than {PIPE_BUF} bytes to a pipe that has available space at least 1 byte, if O_NONBLOCK is set, write transfers what it can and returns the number of bytes written. When write requests of {PIPE_BUF} or less bytes to a pipe that has no enough space, or write requests for greater than {PIPE_BUF} bytes to a pipe that has no space, if O_NONBLOCK is set, write returns -1 and sets errno to EAGAIN. Merge-request: 997 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
* | move POSIX-specific debug to qprocess_unix.cppRitt Konstantin2011-01-111-3/+0
|/ | | | | Merge-request: 997 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
* doc: Fixed several qdoc warnings.Martin Smith2010-07-131-2/+2
|
* add setNativeArguments() and nativeArguments()Oswald Buddenhagen2010-07-061-0/+44
| | | | | | | | | | this function enables starting subprocesses which need command lines which cannot be constructed via the portable list-based api. such cases would be programs which need quoting rules which diverge from the msvc runtime. Reviewed-by: joerg Task-number: QTBUG-7620 (and various others which boil down to that)
* fix bogus return value from qprocess::execute()Oswald Buddenhagen2010-07-061-4/+10
| | | | | Task-number: QTBUG-230, QTBUG-5866 Reviewed-by: joerg
* doc improvementsOswald Buddenhagen2010-07-031-5/+4
|
* doc: Fixed many broken links.Martin Smith2010-05-191-2/+2
|
* Merge remote branch 'origin/4.6' into qt-4.7-from-4.6Thiago Macieira2010-04-131-0/+18
|\
| * Document Symbian platform security requirements on Qt APIsFrans Englich2010-04-121-0/+18
| | | | | | | | | | | | | | | | | | Work done jointly by Gareth and me. Yields no qdoc errors. Task-number: QTBUG-9342 Task-number: QTBUG-9120 Reviewed-by: Gareth Stockwell Reviewed-by: David Boddie
* | Rename QTimestamp to QElapsedTimerThiago Macieira2010-03-171-3/+3
| |
* | Port QtCore uses of QTime as a stopwatch to QTimestamp.Thiago Macieira2010-03-171-3/+3
|/ | | | tst_qtimeline improvement: from 56187446 to 53915928 (callgrind)
* Update copyright year to 2010Jason McDonald2010-01-071-1/+1
| | | | Reviewed-by: Trust Me
* Ensure that QProcessEnvironment::operator== doesn't crashThiago Macieira2009-12-101-1/+2
| | | | | | | Also add an extensive autotest suite for QProcessEnvironment Task-number: QTBUG-6701 Reviewed-by: Markus Goetz
* Removed platform specific include from qprocess.hMiikka Heikkinen2009-10-141-2/+6
| | | | | | | | It wasn't necessary to have a Symbian specific include in qprocess.h, as 64-bit integer will work as pid also in Symbian. Task-number: QT-2266 Reviewed-by: Janne Anttila
* qdoc: Added \brief texts to all the since 4.6 functions.Martin Smith2009-09-211-4/+6
|
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* doc: Fixed several qdoc errors.Martin Smith2009-09-021-1/+1
| | | | That's the last of them... for now.
* doc: Fixed several qdoc errors.Martin Smith2009-08-311-0/+5
|
* Merge branch '4.5' into 4.6Thiago Macieira2009-08-311-13/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/boxes/glshaders.cpp demos/boxes/vector.h demos/embedded/fluidlauncher/pictureflow.cpp demos/embedded/fluidlauncher/pictureflow.h doc/src/desktop-integration.qdoc doc/src/distributingqt.qdoc doc/src/examples-overview.qdoc doc/src/examples.qdoc doc/src/frameworks-technologies/dbus-adaptors.qdoc doc/src/geometry.qdoc doc/src/groups.qdoc doc/src/objecttrees.qdoc doc/src/platform-notes.qdoc doc/src/plugins-howto.qdoc doc/src/qt3support.qdoc doc/src/qtdbus.qdoc doc/src/qtdesigner.qdoc doc/src/qtgui.qdoc doc/src/qtmain.qdoc doc/src/qtopengl.qdoc doc/src/qtsvg.qdoc doc/src/qtuiloader.qdoc doc/src/qundo.qdoc doc/src/richtext.qdoc doc/src/topics.qdoc src/corelib/tools/qdumper.cpp src/gui/embedded/qkbdpc101_qws.cpp src/gui/embedded/qkbdsl5000_qws.cpp src/gui/embedded/qkbdusb_qws.cpp src/gui/embedded/qkbdvr41xx_qws.cpp src/gui/embedded/qkbdyopy_qws.cpp src/gui/embedded/qmousebus_qws.cpp src/gui/embedded/qmousevr41xx_qws.cpp src/gui/embedded/qmouseyopy_qws.cpp src/gui/painting/qpaintengine_d3d.cpp src/gui/painting/qwindowsurface_d3d.cpp src/opengl/gl2paintengineex/glgc_shader_source.h src/opengl/gl2paintengineex/qglpexshadermanager.cpp src/opengl/gl2paintengineex/qglpexshadermanager_p.h src/opengl/gl2paintengineex/qglshader.cpp src/opengl/gl2paintengineex/qglshader_p.h src/opengl/util/fragmentprograms_p.h src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp src/script/parser/qscript.g src/script/qscriptarray_p.h src/script/qscriptasm_p.h src/script/qscriptbuffer_p.h src/script/qscriptclass.cpp src/script/qscriptclassdata_p.h src/script/qscriptcompiler.cpp src/script/qscriptcompiler_p.h src/script/qscriptcontext.cpp src/script/qscriptcontext_p.cpp src/script/qscriptcontext_p.h src/script/qscriptcontextfwd_p.h src/script/qscriptecmaarray.cpp src/script/qscriptecmaarray_p.h src/script/qscriptecmaboolean.cpp src/script/qscriptecmacore.cpp src/script/qscriptecmadate.cpp src/script/qscriptecmadate_p.h src/script/qscriptecmaerror.cpp src/script/qscriptecmaerror_p.h src/script/qscriptecmafunction.cpp src/script/qscriptecmafunction_p.h src/script/qscriptecmaglobal.cpp src/script/qscriptecmaglobal_p.h src/script/qscriptecmamath.cpp src/script/qscriptecmamath_p.h src/script/qscriptecmanumber.cpp src/script/qscriptecmanumber_p.h src/script/qscriptecmaobject.cpp src/script/qscriptecmaobject_p.h src/script/qscriptecmaregexp.cpp src/script/qscriptecmaregexp_p.h src/script/qscriptecmastring.cpp src/script/qscriptecmastring_p.h src/script/qscriptengine.cpp src/script/qscriptengine_p.cpp src/script/qscriptengine_p.h src/script/qscriptenginefwd_p.h src/script/qscriptextenumeration.cpp src/script/qscriptextenumeration_p.h src/script/qscriptextqobject.cpp src/script/qscriptextqobject_p.h src/script/qscriptextvariant.cpp src/script/qscriptfunction.cpp src/script/qscriptfunction_p.h src/script/qscriptgc_p.h src/script/qscriptmember_p.h src/script/qscriptobject_p.h src/script/qscriptprettypretty.cpp src/script/qscriptprettypretty_p.h src/script/qscriptvalue.cpp src/script/qscriptvalueimpl.cpp src/script/qscriptvalueimpl_p.h src/script/qscriptvalueimplfwd_p.h src/script/qscriptvalueiteratorimpl.cpp src/script/qscriptxmlgenerator.cpp src/script/qscriptxmlgenerator_p.h tests/auto/linguist/lupdate/testdata/recursivescan/project.ui tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp tests/auto/qkeyevent/tst_qkeyevent.cpp tools/linguist/shared/cpp.cpp
| * Update tech preview license header.Jason McDonald2009-08-311-13/+13
| | | | | | | | Reviewed-by: Trust Me
| * Update license headers.Jason McDonald2009-08-111-1/+1
| | | | | | | | Reviewed-by: Trust Me