summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixChan.c
Commit message (Collapse)AuthorAgeFilesLines
* Unix terminal and serial port I/O: retire obsolete termio and sgtty code,joe2013-03-031-314/+98
|\ | | | | general cleanup. See SF [Bug 3606258] for details.
| * ... which means struct TtyState can be replaced with struct FileState.jenglish_termios_cleanupjoe2013-03-021-51/+25
| |
| * Member TtyState.savedState set in TtyInit() but never subsequently used.joe2013-03-021-19/+10
| | | | | | This can go away...
| * TtyParseMode signature simplification: take single pointer to struct TtyAttrs jenglish2013-03-021-19/+12
| | | | | | instead of separate pointers to each member.
| * More ifdef shuffling: GETREADQUEUE and GETWRITEQEUE always defined,jenglish2013-03-021-6/+7
| | | | | | dummy implementations return 0 if the requisite ioctls are not present.
| * Do not use strncasecmp(). It is nonstandard and not portable.jenglish2013-03-021-7/+7
| | | | | | Use Tcl_UtfNcasecmp() instead.
| * Replace broken SC_SERIAL_PORT macro with plain AC_CHECK_HEADERS tests.jenglish2013-03-011-5/+6
| |
| * ifdef shuffling: TIOCMC[GS]ET ioctls are not specified by POSIX,jenglish2013-03-011-39/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so we can't assume they are present just because we HAVE_TERMIOS_H. Conversely, if they are present then the subsidiary flags TIOCM_{DTR|RTS} are almost certainly there as well, so that ifdeffery can be removed. And lastly, ifdefs for TIOCSBRK/TIOCCBRK are still needed. (Those are logically separate functions even though TIP#35 lumped them together with DTR and RTS in -ttycontrol. POSIX provides tcsendbreak() for this purpose, but that interface doesn't fit with the TIP#35 API.) KNOWN DEFECT: if a hypothetical Unix system is missing TIOCMCGET but has TIOCSBRK/TIOCCBRK, the latter function will nevertheless be unavailable. Accounting for this possibility does not strike me as being worth the ifdefs.
| * TtyGetOptionProc: remove inoperative comment "The string returned by jenglish2013-02-281-6/+2
| | | | | | | | this function is in static storage [...]"; this is not the case (and apparently never has been)
| * TtyGetBaud(), TtyGetSpeed(): use POSIX speed_t typedefjenglish2013-02-271-16/+8
| | | | | | instead of 'unsigned long'.
| * Remove IOSTATE facade: it's always a struct termios.jenglish2013-02-271-25/+18
| |
| * ifdef reduction - missed a couple spots (#if ... defined(USE_TERMIO))jenglish2013-02-271-7/+4
| |
| * ifdef reduction: SUPPORTS_TTY defined if and only if USE_TERMIOS defined.jenglish2013-02-271-21/+1
| |
| * For termios, we never want DIRECT_BAUD; always use the symbolic constantsjenglish2013-02-271-14/+0
| | | | | | as prescribed by POSIX.
| * termios cleanup step 1: remove USE_TERMIO and USE_SGTTY conditional sectionsjenglish2013-02-271-100/+1
|/ | | (mechanical change, done with `unifdef`).
* Final part of result generation conversion (modulo any minor blunders)dkf2012-08-051-35/+40
|
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-2/+2
|
* get rid of _ANSI_ARGS_ and CONSTjan.nijtmans2012-04-261-1/+1
|\
* \ make some more internal tables constjan.nijtmans2012-04-231-1/+1
|\ \ | |/
| * make some more internal tables constjan.nijtmans2012-04-231-1/+1
| |\
| | * make some more internal tables constjan.nijtmans2012-04-231-1/+1
| | | | | | | | | On cygwin, install dll's in /usr/bin, not in /usr/lib
| | * Backport to 8.4/unix the healthy FD_SET reform started by das. Allows Tcl8.4 ↵guest2012-03-041-25/+30
| | | | | | | | | | | | to have sane fileevents on x86_64 unices at last.
* | | More generation of error codes (most platform-specific parts not already usingdkf2011-04-061-0/+21
| | | | | | | | | Tcl_PosixError).
* | | Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-13/+13
| | | | | | | | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* | | Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
|\ \ \ | |/ / | | | cause more harm than good. Purged them (except in zlib files).
| * | Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-021-2/+0
| |\ \ | | |/ | | | more harm than good. Purged them.
| | * Now that we're no longer using SCM based on RCS, the RCS Keyword lines causedgp2011-03-011-2/+0
| | | | | | | | | more harm than good. Purged them.
| | * [backported] Refrain from a possibly lengthy reverse-DNS lookup on 0.0.0.0 whenferrieux2010-03-011-5/+24
| | | | | | | | | | | | | | | calling [fconfigure -sockname] on an universally-bound (default) server socket.
| | * Fix mark and space parity on Linuxrmax2008-03-031-1/+4
| | |
| | * * unix/tclUnixChan.c (TclUnixWaitForFile):Kevin B Kenny2006-11-281-3/+4
| | | | | | | | | | | | | | | | | | | | | * tests/event.test (event-14.*): Corrected a bug where TclUnixWaitForFile would present select() with the wrong mask on an LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine for reporting and diagnosing [Bug 1602208].
| | * Rewritten MT-safe wrappers to return ptrs to TSD storagevasiljevic2006-09-071-36/+6
| | |
| | * Added MT-safe implementation of some library calls.vasiljevic2006-09-061-1/+31
| | | | | | | | | | | | See Tcl Bug 999544 for more information.
| | * * unix/tclUnixChan.c (TclUnixWaitForFile): with timeout < 0, if select()das2006-08-181-1/+4
| | | | | | | | | | | | | | | returns early (e.g. due to a signal), call it again instead of returning a timeout result. Fixes intermittent event-13.8 failures.
| | * * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(),das2005-11-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to configure (flag can't be present twice, so can't be in both CFLAGS and LDFLAGS during configure), don't use -prebind when deploying on 10.4, define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. * unix/configure.in: fix obsolete autoconf macros, sync gratuitous formatting/ordering differences with tk/unix/configure.in. * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable linking the same as during configure (needed to avoid loosing any linker relevant flags in CFLAGS, in particular flags that can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling of tclTestInit.o or xtTestInit.o during parallel make. (checkstubs, checkdoc, checkexports): dependency and Darwin fixes * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. [Bug 1204237] (TclGuessPackageName): should not be MODULE_SCOPE. (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for loading universal (fat) bundles from memory. * unix/tclUnixPort.h: * unix/tclUnixFCmd.c: add support for new Tiger copyfile() API to enable copying of xattrs & ACLs by [file copy]. * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE defines to support fat compiles of ppc and ppc64 at the same time, (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location of version numbers in macosx files. * generic/tclInt.h: clarify fat compile comment. * unix/tclUnixPort.h: add Darwin specifc configure overrides to support fat compiles, where configure runs only once for multiple architectures (replaces Darwin CVS fix by emoy, rdar://3693001). * macosx/tclMacOSXBundle.c: * macosx/tclMacOSXNotify.c: * unix/tclUnixNotfy.c: * unix/tclUnixPort.h: fix #include order to support compile time override of HAVE_COREFOUNDATION in tclUnixPort.h when building for ppc64 * macosx/Tcl.pbproj/default.pbxuser (new file): * macosx/Tcl.pbproj/jingham.pbxuser: * macosx/Tcl.pbproj/project.pbxproj: sync with HEAD. * macosx/README: clarification/cleanup, sync with HEAD, document universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). * macosx/Makefile: add support for reusing configure cache, build target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. * generic/tclIOUtil.c: * generic/tclRegexp.c: * generic/tclVar.c: declare globals used only in own file as static (sync with HEAD). * generic/rege_dfa.c (getvacant): * generic/regexec.c (cfind): * generic/tclCompExpr.c (CompileSubExpr): * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to silence gcc 4 warnings. * generic/regguts.h: only #define NDEBUG if not already #defined. * macosx/tclMacOSXNotify.c: sync whitespace & comments with HEAD * unix/configure: regen.
| | * TIP#218 IMPLEMENTATIONandreas_kupries2005-01-271-76/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
| | * * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuringhobbs2004-11-171-10/+10
| | | | | | | | | | | | -ttycontrol on a channel. [Bug 1067708]
| | * * Applied [SF Tcl Patch 868853], fixing a mem leak inandreas_kupries2004-05-041-1/+10
| | | | | | | | | | | | | | | TtySetOptionProc. Report and Patch provided by Stuart Cassoff <stwo@users.sf.net>.
| | * Fix memleak with long hostnames. [Bug 888777]dkf2004-02-251-1/+3
| | |
| | * * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606]andreas_kupries2003-10-231-9/+12
| | | | | | | | | | | | | | | | | | fixing [Bug 813087]. Detection of sockets was off for Mac OS X which implements pipes as local sockets. The new code ensures that only IP sockets are detected as such.
| * | Prettify and fix filename in ChangeLog.ferrieux2010-03-011-4/+9
| | |
| * | [Backported] Refrain from a possibly lengthy reverse-DNS lookup on 0.0.0.0 whenferrieux2010-03-011-4/+10
| | | | | | | | | | | | | | | calling [fconfigure -sockname] on an universally-bound (default) server socket.
| * | * generic/tclCmdIL.c: Removed unused variables.dgp2009-07-161-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCompile.c: * generic/tclVar.c: * unix/tclUnixChan.c: * generic/tclScan.c: Typo in ACCEPT_NAN configuration. * generic/tclStrToD.c: Set floating point control register on MIPS systems so that the gradual underflow expected by Tcl is in effect. [Bug 2819200]
| * | * unix/tclUnixChan.c: TclUnixWaitForFile(): use FD_* macrosdas2009-04-101-34/+31
| | | | | | | | | | | | | | | * macosx/tclMacOSXNotify.c: to manipulate select masks (Cassoff). [Bug 1960647]
| * | * macosx/tclMacOSXNotify.c: revise CoreFoundation notifier to allowdas2009-04-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * unix/tclUnixChan.c: embedding into applications that * unix/tclUnixEvent.c: already have a CFRunLoop running and want to run the tcl event loop via Tcl_ServiceModeHook(TCL_SERVICE_ALL). * macosx/tclMacOSXNotify.c: add CFRunLoop based Tcl_Sleep() and * unix/tclUnixChan.c: TclUnixWaitForFile() implementations * unix/tclUnixEvent.c: and disable select() based ones in CoreFoundation builds. * unix/tclUnixNotify.c: simplify, sync with tclMacOSXNotify.c. * generic/tclInt.decls: add TclMacOSXNotifierAddRunLoopMode() * generic/tclIntPlatDecls.h: internal API, regen. * generic/tclStubInit.c:
* | | * doc/socket.n: Document the changes to the [socket] and rmax2010-09-281-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [fconfiguyre] commands. * generic/tclInt.h: Introduce TclCreateSocketAddress() as a * generic/tclIOSock.c: replacement for the platform-dependent * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. * unix/tclUnixChan.c: Extend the [socket] and [fconfigure] * unix/tclUnixPort.h: commands to behave as proposed in * win/tclWinSock.c: TIP #162. * win/tclWinPort.h: * compat/fake-rfc2553.c: A compat implementation of the APIs * compat/fake-rfc2553.h: defined in RFC-2553 (getaddrinfo() and friends) on top of the existing gethostbyname() etc. * unix/configure.in: Test whether the fake-implementation is * unix/tcl.m4: needed. * unix/Makefile.in: Add a compile target for fake-rfc2553. * win/configure.in: Allow cross-compilation by default * tests/socket.test: Improve the test suite to make more use of * tests/remote.tcl: randomized ports to reduce interference with tests running in parallel or other services on the machine.
* | | Eliminate various unnecessary type casts, use function typedefs whenever ↵nijtmans2010-06-211-8/+8
| | | | | | | | | | | | possible
* | | Fix TCL_LL_MODIFIER for Cygwinnijtmans2010-01-131-3/+3
| | | | | | | | | | | | | | | and various other minor CYGWIN compilation problems
* | | * win/tclWinDde.c: VC++ 6.0 doesn't havenijtmans2010-01-101-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * win/tclWinReg.c PDWORD_PTR * win/tclWinThrd.c: Fix various minor gcc warnings. * win/tclWinTime.c * win/tclWinConsole.c Put channel type definitions * win/tclWinChan.c in static const memory * win/tclWinPipe.c * win/tclWinSerial.c * win/tclWinSock.c * generic/tclIOGT.c * generic/tclIORChan.c * generic/tclIORTrans.c * unix/tclUnixChan.c * unix/tclUnixPipe.c * unix/tclUnixSock.c * unix/configure (regenerated with autoconf 2.59) * tests/info.test: Make test independant from tcltest implementation.
* | | * unix/tclUnixChan.c (TtyParseMode): Partial undo of Donal's tidy-andreas_kupries2009-11-171-5/+9
| | | | | | | | | | | | | | | | | | up from a few days ago (2009-11-9, not in ChangeLog). strchr is apparently a macro on AIX and reacts badly to pre-processor directives in its arguments.
* | | Some small bits of tidying up.dkf2009-11-091-68/+68
| | |