summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixPipe.c
Commit message (Collapse)AuthorAgeFilesLines
* * unix/tclUnixPipe.c (TclpCreateProcess): for USE_VFORK: ensure standarddas2006-08-021-1/+18
| | | | | channels are initialized before vfork() so that the child doesn't potentially corrupt global state in the parent's address space.
* * macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent): createdas2006-07-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | notifier thread lazily upon first call to Tcl_WaitForEvent() rather than in Tcl_InitNotifier(). Allows calling exeve() in processes where the event loop has not yet been run (Darwin's execve() fails in processes with more than one thread), in particular allows embedders to call fork() followed by execve(), previously the pthread_atfork() child handler's call to Tcl_InitNotifier() would immediately recreate the notifier thread in the child after a fork. * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): add support for * unix/tclUnixFCmd.c (DoRenameFile, CopyFileAtts): weakly importing * unix/tclUnixInit.c (TclpSetInitialEncodings): symbols not available on OSX 10.2 or 10.3, enables binaires built on later OSX versions to run on earlier ones. * macosx/README: document how to enable weak-linking; cleanup. * unix/tclUnixPort.h: add support for weak-linking; conditionalize AvailabilityMacros.h inclusion; only disable realpath on 10.2 or earlier when threads are enabled. * unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin * unix/tclUnixInit.c (TclpInitPlatform): release check to use global initialized once. * unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime Darwin release check to determine if realpath is threadsafe. * unix/configure.in: add check on Darwin for compiler support of weak * unix/tcl.m4: import and for AvailabilityMacros.h header; move Darwin specific checks & defines that are only relevant to the tcl build out of tcl.m4; restrict framework option to Darwin; cleanup quoting. * unix/configure: autoconf-2.13 * unix/tclLoadDyld.c (TclpLoadMemory): * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned comparison and other warnings from gcc4 -Wextra.
* Backport of fix for [Bug 1245953]dkf2005-07-281-2/+2
|
* bug 1225727Kevin B Kenny2005-06-221-1/+22
|
* TIP#218 IMPLEMENTATIONandreas_kupries2005-01-271-2/+4
| | | | | | | | | | | | | | | | | | | | | * generic/tclDecls.h: Regenerated from tcl.decls. * generic/tclStubInit.c: * doc/CrtChannel.3: Documentation of extended API, * generic/tcl.decls: extended testsuite, and * generic/tcl.h: implementation. Removal of old * generic/tclIO.c: driver-specific TclpCut/Splice * generic/tclInt.h: functions. Replaced with generic * tests/io.test: thread-action calls through the * unix/tclUnixChan.c: new hooks. Update of all builtin * unix/tclUnixPipe.c: channel drivers to version 4. * unix/tclUnixSock.c: Windows drivers extended to * win/tclWinChan.c: manage thread state in a thread * win/tclWinConsole.c: action handler. * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: * mac/tclMacChan.c:
* silence compiler warningdgp2004-06-081-2/+2
|
* Silence compiler warningsdgp2004-06-081-3/+1
|
* * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() todas2003-02-211-1/+5
| | | | | create new processes, as recommended by to Apple (vfork can be up to 100 times faster thank fork on macosx).
* Changed all the Tcl_Platform* symbols to TclOS*; they weren't public so theirdkf2002-06-281-4/+4
| | | | names were really badly chosen. Also prevented a double-#def.
* TIP#72 implementation. See ChangeLog for details.dkf2002-02-151-4/+4
| | | | | This version builds clean on Solaris/SPARC, with GCC and CC, both with and without threads and both in 32-bit and 64-bit mode.
* * Partial TIP 27 rollback. Following routinesdgp2002-02-081-3/+2
| | | | | | | | | | | | | restored to return (char *): Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified some callers. This change recognizes that Tcl_DStrings are de-facto white-box objects. * generic/tclCmdMZ.c: corrected use of C++-style comment.
* * Updated interfaces of generic/tclEncoding, generic/tclFilename.c,dgp2002-01-251-5/+7
| | | | | | | | | | | generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware version. Updated callers. ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath.
* * Updated APIs in the file generic/tclIO.c according to the guidelinesdgp2002-01-151-3/+3
| | | | | | | | | | | of TIP 27. Several minor documentation corrections as well. * Updated channel driver interface according to the guidelines of TIP 27. See also [Bug 500348]. * Moved Tcl_EolTranslation enum declaration from generic/tcl.h to generic/tclInt.h (renamed to TclEolTranslation). It is not used anywhere in Tcl's public interface.
* * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter'sandreas_kupries2001-12-111-2/+2
| | | | patch fixing bug #437489.
* * unix/tclUnixPipe.c (PipeInputProc, PipeOutputProc): do immediatehobbs2001-10-181-11/+27
| | | | | retry when error is returned with errno == EINTR. [Bug #415131] (leger)
* minor fs, vfs fixesvincentdarley2001-09-041-7/+17
|
* * unix/tclUnixPipe.c (TclpCreateTempFile): fixed use of tmpnam,hobbs2001-08-071-7/+14
| | | | | which is dangerous. [Patch: #442636] (lim) The use of tmpnam in TclpTempFileName must still be changed.
* Changes from TIP#17 "Redo Tcl's filesystem"vincentdarley2001-07-311-1/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following files were impacted. * doc/Access.3: * doc/FileSystem.3: * doc/OpenFileChnl.3: * doc/file.n: * doc/glob.n: * generic/tcl.decls: * generic/tcl.h: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclDate.c: * generic/tclDecls.h: * generic/tclEncoding.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclGetDate.y: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclIOUtil.c: * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclLoad.c: * generic/tclStubInit.c: * generic/tclTest.c: * generic/tclUtil.c: * library/init.tcl: * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacInit.c: * mac/tclMacPort.h: * mac/tclMacResource.c: * mac/tclMacTime.c: * tests/cmdAH.test: * tests/event.test: * tests/fCmd.test: * tests/fileName.test: * tests/io.test: * tests/ioCmd.test: * tests/proc-old.test: * tests/registry.test: * tests/unixFCmd.test: * tests/winDde.test: * tests/winFCmd.test: * unix/mkLinks: * unix/tclUnixFCmd.c: * unix/tclUnixFile.c: * unix/tclUnixInit.c: * unix/tclUnixPipe.c: * win/tclWinFCmd.c: * win/tclWinFile.c: * win/tclWinInit.c: * win/tclWinPipe.c
* * unix/tclUnixPipe.c: updated pipeChannelType tohobbs2001-05-151-11/+15
| | | | TCL_CHANNEL_VERSION_2 type specification.
* * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential racehobbs2001-03-291-2/+7
| | | | | condition and security leak in tmp filename creation. (max) [Patch #402924]
* * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG fromhobbs2000-09-061-3/+5
| | | | | Tcl_WaitPid call in error case of process creation on Unix, as it would lead to defunct processes. [Bug: 6148]
* * generic/tclGet.c (Tcl_GetDouble): Added additional conditions toericm2000-03-311-4/+10
| | | | | | | | | | | | | | | | | error test (previously only errno was checked, but the return value of strtod() should be checked as well). [Bug: 4118]. * tests/exec.test: Added test for proper conversion of UTF data when used with "<< $dataWithUTF" on exec's. * unix/tclUnixPipe.c (TclpCreateTempFile): Added Tcl_UtfToExternalDString call, so that if there is UTF content in the string it will be properly converted to the system encoding before being written [Bug: 4030]. (TclpCreateTempFile): Added a check on the return value of tmpnam; some systems (Linux, for example) will start to return NULL after tmpnam has been called TMP_MAX times; not checking for this can have bad results (overwriting temp files, core dumps, etc.)
* * unix/tclUnixChan.c: Added (off_t) type casts in lseek() callericm2000-03-271-3/+3
| | | | | | | | [Bug: 4409]. * unix/tclLoadAout.c: * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug: 4410].
* * unix/configure.in:hobbs1999-12-121-3/+3
| | | | | | | | | * unix/tcl.m4: * unix/tclUnixPipe.c: removed checking for compatible vfork function and use of the vfork function. Modern VM systems rarely suffer any performance degradation when fork is used, and it solves multiple problems with vfork. Users that still want vfork and add -Dfork=vfork to the compile flags. [Bug: 942 2228 1312]
* * win/tclWinTime.c: fixed handling of %Z on NT for time zoneshobbs1999-12-011-2/+1
| | | | that don't have DST.
* * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly sethobbs1999-11-301-2/+4
| | | | isNonBlocking flag on pipe. [Bug: 1356 710]
* * unix/Makefile.in: purify has to use -best-effort to instrumenthobbs1999-10-131-21/+28
| | | | | | | | * unix/tclAppInit.c: identified potential mem leak when compiling tcltest (not critical) * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when doing alloc between vfork and execvp. * unix/tclUnixTest.c: fixed mem leak in findexecutable test command
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-47/+56
|
* Replaced SCCS strings, fixed binary filescore_8_0_3stanton1998-09-141-1/+1
|
* Initial revisionrjohnson1998-03-261-0/+1149