summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixSock.c
Commit message (Collapse)AuthorAgeFilesLines
* [Bug 3401422] Cache script-level changes to the nonblocking flag of an async ↵ferrieux2011-09-011-1/+7
| | | | client socket in progress, and commit them on completion.
* Put back the check for server sockets (bug #3394732).max2011-08-291-0/+9
|
* 3364777 Stop segfault caused by reading from struct after it had been freed.dgp2011-07-121-1/+4
|
* * unix/tclUnixSock.c (CreateClientSocket): Fix and simplify posting of ↵max2011-06-281-19/+56
| | | | | the writable fileevent at the end of an asynchronous connection attempt. Improve comments for some of the trickery around [socket -async]. [Bug 3325339] * tests/socket.test: Adjust tests to the async code changes. Add more tests for corner cases of async sockets.
* * doc/socket.n: Document the fact that the event loop is now needed for ↵max2011-06-161-1/+2
| | | | | | [socket -async] * unix/tclUnixSock.c: Set up the file handler for async sockets to fire on exceptions in addition to writable state. * tests/socket.test: Improve error reporting when socket-14.2 times out.
* Simplify file descriptor handling for client sockets and derivedmax2011-06-071-42/+38
| | | | | server sockets by putting an instance of TcpFdList into TcpState instead of just a pointer. Now only server sockets that listen on multiple addresses need the linked list of file descriptors.
* Fix bug#3084338, a memleak when a [socket -async] was closed before the ↵max2011-06-071-29/+22
| | | | connection had succeeded or failed.
* * Don't use port 0 for test 14.2 as it fails in different ways on Linux ↵max2011-06-061-30/+29
| | | | | | | and NetBSD. * Unify channel name creation. * Prevent error messages from appearing twice. * Double the measured latency in socket.test to be on the safe side.
* * Improve socket.test by checking the latency on the loopback address and ↵max2011-06-011-33/+33
| | | | | use that for some of the tests instead of fixed "big enough" times. * Improve correctness of [socket -async] in some error cases.
* * Fix setting up of [fileevent] while an async socket is still in progress max2011-05-301-42/+59
| | | | * Cache async socket errors for later use by [fconfigure -error] * Add tests for the above
* Fix [socket -async] for DNS names with more than one addressmax2011-05-271-98/+133
|
* * unix/tclUnixSock.c (TcpWatchProc): No need to check for server sockets ↵max2011-05-111-18/+9
| | | | | here, as the generic server code already takes care of that. * tests/socket.test (accept): Add tests to make sure that this remains so.
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-15/+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.
| | * Removed unused variablesvasiljevic2006-09-071-6/+1
| | |
| | * Rewritten MT-safe wrappers to return ptrs to TSD storagevasiljevic2006-09-071-12/+3
| | |
| | * Added MT-safe implementation of some library calls.vasiljevic2006-09-061-1/+15
| | | | | | | | | | | | See Tcl Bug 999544 for more information.
| | * Added no-op TclpFinalizeSockets()vasiljevic2006-03-101-1/+23
| | |
* | | * win/tclWinSock.c (CreateSocket): Swap the loops overrmax2010-12-141-19/+19
| | | | | | | | | | | | | | | | | | | | | * unix/tclUnixSock.c (CreateClientSocket): local and remote addresses, so that the system's address preference for the remote side decides which family gets tried first. Cleanup and clarify some of the comments.
* | | Change first parameter of TclSockMinimumBuffers to ClientData, and ↵nijtmans2010-12-101-3/+3
| | | | | | | | | | | | TclWin(Get|Set)SockOpt to SOCKET, because on Win64 those are 64-bit, which does not fit.
* | | * unix/tclUnixSock.c: Prevent calls freeaddrinfo(NULL) which candgp2010-10-281-3/+7
| | | | | | | | | | | | crash some systems. Thanks Larry Virden. [Bug 3093120]
* | | * unix/tclUnixSock.c (TcpGetOptionProc): Prevent crash if interp isdkf2010-10-261-11/+9
| | | | | | | | | | | | * win/tclWinSock.c (TcpGetOptionProc): NULL (a legal situation).
* | | Add support for ::tcl::unsupported::noReverseDNSrmax2010-10-261-4/+9
| | |
* | | * unix/tclUnixSock.c (CreateClientSocket): Fix a memleak andrmax2010-10-121-16/+6
| | | | | | | | | | | | refactor the calls to freeaddrinfo() [Bug #3084338].
* | | * doc/socket.n: Document the changes to the [socket] and rmax2010-09-281-362/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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-9/+9
| | | | | | | | | | | | possible
* | | Make the code prettierdkf2010-03-011-5/+10
| | |
* | | 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.
* | | * win/tclWinDde.c: VC++ 6.0 doesn't havenijtmans2010-01-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tclUnixPort.h: Move all socket-related code from tclUnixChan.crmax2009-06-151-1/+1151
| | | | | | | | | | | | | | | * unix/tclUnixChan.c: to tclUnixSock.c. * unix/tclUnixSock.c:
* | | Get rid of pre-C89-isms (esp. CONST vs const).dkf2008-04-271-6/+6
|/ /
* | merge stable branch onto HEADdgp2007-12-131-1/+1
| |
* | Whitespace/format cleanupdkf2007-07-311-4/+4
| |
* | Complete the purge of K&R function definitions from manually-written code.dkf2007-04-161-2/+2
| |
* | Rewritten MT-safe wrappers to return ptrs to TSD storage.vasiljevic2006-09-071-17/+3
| |
* | Added fixes for Tcl Bug 999544 (ported from core-8-4-branch).vasiljevic2006-09-061-1/+15
| |
* | Added no-op TclpFinalizeSockets().vasiljevic2006-03-101-1/+23
| |
* | More bits of ANSIfyingdkf2005-11-111-27/+39
| |
* | * unix/tclUnixSock.c (InitializeHostName): Synchronized use ofandreas_kupries2005-09-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | static modifier in declaration and definition of function. * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static modifier in declaration and definition of function. * generic/tclResult.c (ReleaseKeys): Synchronized use of static modifier in declaration and definition of function. * generic/tclListObj.c (NewListIntRep): Synchronized use of static modifier in declaration and definition of function. * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized use of static modifier in declaration and definition of function. * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of static modifier in declaration and definition of function. * generic/tclIORChan.c (RcNewHandle): Synchronized use of static modifier in declaration and definition of function.
* | * unix/tclUnixSock.c: Use a ProcessGlobalValue to store thedgp2005-07-131-56/+62
| | | | | | | | | | | | | | * win/tclWinSock.c: value returned by Tcl_GetHostName() ([info hostname]). Also re-order initialization of the value on Windows to favor GetComputerName() over gethostname() as a source of the information.
* | Merged kennykb-numerics-branch back to the head; TIPs 132 and 232Kevin B Kenny2005-05-101-1/+1
| |
* | TIP#218 IMPLEMENTATIONandreas_kupries2005-01-271-47/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
* | Patch 922727 committed. Implements three changes:dgp2004-04-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h: Reworked the Tcl header files into a clean * unix/tclUnixPort.h: hierarchy where tcl.h < tclPort.h < tclInt.h * win/tclWinInt.h: and every C source file should #include * win/tclWinPort.h: at most one of those files to satisfy its declaration needs. tclWinInt.h and tclWinPort.h also better organized so that tclWinPort.h includes the Windows implementation of cross-platform declarations, while tclWinInt.h makes declarations that are available on Windows only. * generic/tclBinary.c (TCL_NO_MATH): Deleted the generic/tclMath.h * generic/tclMath.h (removed): header file. The internal Tcl * macosx/Makefile (PRIVATE_HEADERS): header, tclInt.h, has a * win/tcl.dsp: #include <math.h> directly, and file external to Tcl needing libm should do the same. * win/Makefile.in (WIN_OBJS): Deleted the win/tclWinMtherr.c file. * win/makefile.bc (TCLOBJS): It's a vestige from matherr() days * win/makefile.vc (TCLOBJS): gone by. * win/tcl.dsp: * win/tclWinMtherr.c (removed):
* | Include tclInt.h instead of tclPort.h to fix building on Solaris.rmax2004-03-191-2/+2
| |
* | * The changes below fix SF bugs [593810], and [718045].andreas_kupries2003-04-221-1/+47
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke TclpCutSockChannel and TclpSpliceSockChannel. * generic/tclInt.h: Declare TclpCutSockChannel and TclpSpliceSockChannel. * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): Dummy functions, on unix the sockets are _not_ handled specially. * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New functions to handle socket specific cut/splice operations: auto-initi of socket system for thread on splice, management of the module internal per-thread list of sockets, management of association of sockets with HWNDs for event notification. * win/tclWinSock.c (NewSocketInfo): Extended initialization assignments to cover all items of the structure. During debugging of the new code mentioned above I found that two fileds could contain bogus data. * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before definition because when compiling in debug mode the compiler complains about a redefinition, and this warning is also treated as an error.
* * unix/tclUnixSock.c (Tcl_GetHostName): added an extrahobbs2002-02-271-1/+16
| | | | | gethostbyname check to guard against failure with truncated names returned by uname.
* * Updated socket interfaces according to TIP 27. Updated callers.dgp2002-01-231-2/+2
|
* merged tcl 8.1 branch back into the main trunkstanton1999-04-161-13/+25
|