| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
handlers" for similar late process-wide cleanups.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* win/tclWinSock.c: remove dyn loading of winsock, assume that it
is always available now.
|
|
|
|
|
|
| |
buffer length tracking. After gethostname() writes into a buffer,
convert only the written string to internal encoding, not the
whole buffer.
|
|
|
|
| |
hostname] value from the system encoding to Tcl's internal encoding.
|
| |
|
| |
|
|
|
|
| |
to afredd. [Bug 1518166]
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinSock.c: to avoid creating invalid DString states.
* win/tclWinDde.c: Bump to version 1.3.2. [RFE 1366195]
* library/dde/pkgIndex.tcl:
* library/reg/pkgIndex.tcl: Bump to registry 1.1.6
* win/tclWinReg.c:
* win/configure.in: Bump package version numbers.
* win/configure: autoconf 2.59
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: the version where the "truncateProc"
* generic/tclIO.c: is defined at, and moved all channel
* generic/tclIOGT.c: drivers of Tcl to v5.
* generic/tclIORChan.c:
* unix/tclUnixChan.c:
* unix/tclUnixPipe.c:
* win/tclWinChan.c:
* win/tclWinConsole.c:
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
|
|
|
|
|
|
|
|
| |
is now solely done in TclpFinalizeSockets() and
TclpFinalizePipes() and not over the thread-exit handler,
because the order of actions the Tcl generic core will
impose may result in cores/hangs if the thread exit handler
tears down corresponding subsystem(s) too early.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/regerror.c: Avoid use of reserved word.
* generic/tcl.h: Select the right Tcl_Stat structure
* generic/tclDate.c: Casts to handle 64 bit time_t case.
* tests/env.test: Include essential envvar on Win32
* win/nmakehlp.c: Handle new return codes.
* win/makefile.vc: Use the selected options.
* win/rules.vc: Check options are applicable
* win/tclWinPort.h: Disable deprecated function warnings
* win/tclWinSock.c: Provide default value to avoid warning.
* win/tclWinTime.c: Add casts to handle 64bit time_t type.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
|
|
|
| |
writable handlers because this is how it works on UNIX [Bug 794839]
|
|
|
|
|
|
|
| |
WaitForSingleObject returns a timeout. Tcl_Finalize called from
DllMain will pause all threads. Trust that the thread will get the
close notice at a later time if it does ever wake up before being
cleaned up by the system anyway.
|
|
|
|
|
|
|
| |
to 'Tcl_Panic' (the function). The #define
of panic in tcl.h clearly states it is
deprecated in the comments.
[Patch 865264]
|
|
|
|
|
| |
the socket handler thread is really in a paused state. This can happen when
Tcl is being unloaded by the OS from an exception handler.
|
|
|
|
|
|
|
|
| |
asked for writable events by the generic layer.
(SocketEventProc): Generate a writable event too when a close is
detected.
Together the changes fix [Bug 599468].
|
|
|
|
| |
typedef ssue as MinGW and cygwin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler warnings from SEH ASM code.
* win/tclWinChan.c (squelch_warnings): Squelch
compiler warnings from SEH ASM code.
* win/tclWinDde.c: Add casts to avoid compiler
warnings. Pass pointer to DWORD instead of int
to avoid compiler warnings.
* win/tclWinFCmd.c (squelch_warnings): Add casts
and fixup decls to avoid compiler warnings.
Squelch compiler warnings from SEH ASM code.
* win/tclWinFile.c: Add casts and fixup decls
to avoid compiler warnings. Remove unused variable.
* win/tclWinNotify.c: Declare as DWORD instead
of int to avoid compiler warning.
* win/tclWinReg.c: Add casts to avoid compiler
warning. Fix assignment in if expression bug.
* win/tclWinSerial.c: Add casts to avoid compiler
warnings. Remove unused variable.
* win/tclWinSock.c: Add casts and fixup decls
to avoid compiler warnings.
|
|
|
|
|
|
|
|
|
| |
* win/configure.in: Check for typedefs like LPFN_ACCEPT
in winsock2.h and define HAVE_NO_LPFN_DECLS if not found.
* win/tclWinSock.c: Define LPFN_* typedefs if
HAVE_NO_LPFN_DECLS is defined. This fixes the build
under Mingw and Cygwin, it was broken by the changes
made on 2002-11-26.
|
|
|
|
|
|
|
|
| |
that the tsdPtr is valid before dereferencing as we call it from
the exit handler, too [Bug 650353]. Another WSAStartup() loaded
version comparison byte swap issue fixed. Although 0x0101 byte
swapped is still 0x0101, properly claiming which is major/minor
is more correct.
|
|
|
|
| |
error which resulted in 2.0 looking less than 1.1.
|
|
|
|
|
| |
table as it wasn't referenced anywhere and cleaned-up some
casting that that wasn't needed.
|
|
|
|
| |
confusion.
|
| |
|
|
|
|
| |
TcpAccept() hack that has no business being in the core.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinSock.c: This patch does two things:
1) Cleans-up the winsock typedefs by using the typedefs
provided by winsock2.h. This has no effect on how winsock
is initialized; just makes the source code easier to read.
[Patch 561305]
2) Revamps how the socket message handler thread is brough up
and down to allows for cleaner exits without the use of
TerminateThread(). TerminateThread is evil. No attempt has
been made to resolve [Bug 593810] which may need a new
channel driver version for adding a registering function
whithin the transfered thread to init the handler thread.
IOW, initialization of the TSD structure was getting bypassed
through the thread extension's [thread::transfer] command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinPipe.c:
* win/tclWinSerial.c:
* win/tclWinSock.c:
* win/tclWinThrd.c:
* win/tclWinTime.c: General cleanup of all worker threads used
by the channel drivers. Eliminates the normal case where the
worker thread is terminated ('cept the winsock one). Instead,
use kernel events to signal a clean exit. Only when the worker
thread is blocked on an I/O call is the thread terminated.
Essentially, this makes all other channel worker threads behave
like the PipeReaderThread() function for it's cleaner exit
behavior. This appears to fix [Bug 597924] but needs 3rd party
confirmation to close the issue.
|
|
|
|
|
|
| |
are not allowed to mess with the watch mask if the socket is a
server socket. I believe that the original reporter is George
Peter Staplin.
|
|
|
|
| |
Thanks to Andreas Kupries for the feedback.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
#478565 reported by an unknown person. Bypasses all calls to
"gethostbyaddr" for address "0.0.0.0" to prevent delays on
Win/NT.
|
| |
|
|
|
|
|
| |
readability of socket on Windows.
[Patch #410674, Bug #219205 #219333]
|
|
|
|
| |
8.4a2 code base, merged in with some existing new 8.4a2 features.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* win/tclWinChan.c:
* win/tclWinFCmd.c:
* win/tclWinInit.c:
* win/tclWinPipe.c:
* win/tclWinSock.c: removed all code that supported Win32s. It
was no longer officially supported, and likely didn't work anyway.
* win/makefile.vc: removed 16 bit stuff, cleaned up.
* win/tcl16.rc:
* win/tclWin16.c:
* win/winDumpExts.c: these files have been removed from the
source tree (no longer necessary to build)
* win/aclocal.m4: made it just include tcl.m4
|
|
|
|
|
|
| |
function. Added code to avoid calling TerminateThread(), but
instead to send a message to the socket event window to tell it to
terminate its thread.
|