summaryrefslogtreecommitdiffstats
path: root/win/tclWinSock.c
Commit message (Collapse)AuthorAgeFilesLines
* eliminate two unused variables.jan.nijtmans2014-05-231-2/+0
|
* Fix and improve socket -async [13d3af3ad5] oehhar2014-05-201-1432/+1995
|\
| * Beautify check for async connect reentryoehhar2014-04-081-4/+10
| |
| * Changed error report logic, that an async connect error is only reported by ↵oehhar2014-04-081-52/+94
| | | | | | | | 'fconfigure -error' and not by a possible last command terminating the async connect. The terminating command always returns "socket is not connected" on connect error. In addition, some flags were renamed: TCP_ASYNC_SOCKET to TCP_NONBLOCKING and also the new state flags.
| * Renamed function CreateClientSocket to TcpConnect and variable error to ↵oehhar2014-04-071-23/+28
| | | | | | | | connectError
| * Return async connect error by first following read or write operation.oehhar2014-04-071-1/+12
| |
| * Avoid multiple returns of connect errorsoehhar2014-04-041-43/+103
| |
| * Marked all communication variables which are set by notifier thread with ↵oehhar2014-04-021-3/+4
| | | | | | | | "volatile".
| * Removed thread debugging printf messagesoehhar2014-04-011-110/+13
| |
* | Remove unused variable, don't use deprecated function, some formatting.jan.nijtmans2014-04-161-2/+2
| |
* | Upgrade from Winsock 1.1 to Winsock 2.2, which is always available on ↵jan.nijtmans2014-04-161-75/+3
|\ \ | | | | | | | | | | | | | | | Win2000+. See: [http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213%28v=vs.85%29.aspx] for details. Move winsock initialization to TclpInitPlatform(void), so we can be sure everywhere that we have an initialized winsock2. Stub entries for TclWinGetServByName/TclWinGetSockOpt/TclWinSetSockOpt are no longer necessary (will be removed in 9.0, but are kept in 8.x)
| * | Upgrade from Winsock 1.1 to Winsock 2.2, which is always available on ↵jan.nijtmans2014-04-161-75/+3
| | | | | | | | | | | | | | | | | | Win2000+. See: [http://msdn.microsoft.com/en-us/library/windows/desktop/ms742213%28v=vs.85%29.aspx] for details. Move winsock initialization to TclpInitPlatform(void), so we can be sure everywhere that we have an initialized winsock2. Stub entries for TclWinGetServByName/TclWinGetSockOpt/TclWinSetSockOpt are no longer necessary (will be removed in 9.0, but are kept in 8.x)
| * | Fix bug [581937ab1e]: fire readable event on async socket connect failurebug_581937ab1eoehhar2014-04-021-33/+40
| |\ \ | | |/
| | * Fire also readable event on final async connect failure. Armor ↵oehhar2014-03-241-45/+84
| | | | | | | | | | | | WaitForSocketEvent by access signal against notifier thread access.
| | * Be sure tsd pointer to the info structure is invalidated before memory freeoehhar2014-03-231-1/+20
| | |
| | * WaitForConnection like tclUnixSock.c, new option [fconfigure -connecting]oehhar2014-03-141-42/+34
| | |
| | * file tclWinSock.c reorganized to minimize diff to tclUnixSock.c. No ↵oehhar2014-03-141-1455/+1498
| | | | | | | | | | | | functional change
| | * Remove writable shortcut and errorneous workaround to get [connect -async] ↵bug_13d3af3ad5_forkoehhar2014-03-141-18/+18
| | | | | | | | | | | | fail error to [fconfigure -error]
| | * Async connect terminates: fire fileevent by setting readyEvent, propage ↵oehhar2014-03-141-52/+110
| | | | | | | | | | | | commit fail message to [fconfigure -error]
| | * No [fconfigure -error] error in connect process; gets after failed async ↵oehhar2014-03-111-10/+19
| | | | | | | | | | | | connect returns connect error
| | * Additional security for wrong pointeroehhar2014-03-101-0/+6
| | |
| | * Fire write fileevent if async connect fails finally (test socket-14.2)oehhar2014-03-101-2/+12
| | |
| | * Also continue async connect without event loop if gets/puts is called (test ↵oehhar2014-03-101-22/+34
| | | | | | | | | | | | socket-14.8.*)
| | * Workaround if FD_CONNECT notification comes before socket list registration ↵oehhar2014-03-101-80/+184
| | | | | | | | | | | | in TcpThreadActionProc
| | * Still incomplete info structure in event proc: try to protect with locks ↵oehhar2014-03-071-12/+51
| | | | | | | | | | | | (unsuccesful). Probably locks in accept socket creation missing.
| | * More debug to chase different fd in struct than in callbackoehhar2014-03-061-53/+40
| | |
| | * Terminate async connect synchronously by any blocking operationoehhar2014-03-061-12/+104
| | |
| | * "gets" blocked after async cannect: SOCKET_ASYNC_CONNECT was not clearedoehhar2014-03-051-12/+12
| | |
| | * Refactor the error handling logic around connect()max2014-03-051-20/+17
| | |
| | * avoid warnings about uninitialized infoPtr in DEBUGmax2014-03-051-2/+2
| | |
| | * Print out the value of infoPtr in DEBUG, so that coexisting sockets can be ↵max2014-03-051-7/+5
| | | | | | | | | | | | distinguished in the output.
| | * Next async connect try works. Reset error and move notifier before connect.oehhar2014-03-051-11/+12
| | |
| | * * Use watchEvents only for read/write/close events of [chan event], don't ↵max2014-03-041-63/+82
| | | | | | | | | | | | | | | mix with internal use of accept and connect events. * WIP: Refactor the tail of CreateClientSocket() to get notifications for completed async connects right.
| | * Reverted move of WSAAsyncSelect before connect -> FD_Connect message does ↵oehhar2014-03-041-18/+13
| | | | | | | | | | | | also fire if it exists on call.
| | * WIP: async open event now passes to SocketEventProc() and connects but does ↵oehhar2014-03-031-15/+23
| | | | | | | | | | | | not finalyze that (I guess).
| | * Make printf debugging switchable, because it affects 'make test'max2014-02-281-1/+8
| | |
| | * Broken intermediate state.max2014-02-281-146/+219
| | | | | | | | | | | | | | | Calling back to CreateClientSocket() from the event loop works, but the final failed or succeeded state of an asyncronous socket does not get notified to the channel correctly.
| | * merge trunkmax2013-11-181-3/+2
| | |\ | |_|/ |/| |
| | * To prepare for completion of the [socket -async] implementation on Windows ↵max2013-11-181-165/+203
| | | | | | | | | | | | | | | | | | | | | [13d3af3ad5]: * Move the server code from CreateSocket to Tcl_OpenTcpServer. * Rename CreateSocket to CreateClientSocket. * Unify the naming convention of socket channels with Unix (sock + hex representation of the state/info structure).
| * | Set all variables written by the notifier thread as volatile.oehhar2014-04-021-4/+6
| | |
| * | Be shure tsd pointer to the info structure is invalidated before memory freeoehhar2014-03-231-7/+28
| | |
| * | Bug [336441ed59]: Buffer infoPtr between socket creation and insertion into ↵oehhar2014-03-221-73/+140
| | | | | | | | | | | | info structure in thread local memory. Backported fix from commit [65b320b464] from branch "bug-[13d3af3ad5]".
| * | 3574493 Avoid hanging on exit due to use of synchronization calls indgp2012-11-071-8/+7
| |\ \ | | | | | | | | routines called by DllMain().
| | * | 3574493 Avoid hanging on exit due to use of synchronization calls indgp2012-11-071-6/+7
| | | | | | | | | | | | routines called by DllMain().
* | | | Revert [3c0b0bbda6]. If this really is a problem, it needs to get fixed by ↵max2013-11-181-3/+2
| |_|/ |/| | | | | | | | other means than covering behind void pointers.
* | | Eliminate some redundant Tcl_GetErrno() calls.jan.nijtmans2013-11-181-2/+3
| | |
* | | Map WSAEWOULDBLOCK to EWOULDBLOCK. Suggested by Reinhard Max.jan.nijtmans2013-11-161-3/+3
| | |
* | | Don't leak getaddrinfo() resultsmax2013-11-151-2/+2
| | |
* | | Fix compiler warning when compiling Itcl 4.0:jan.nijtmans2013-07-031-2/+3
| | | | | | | | | | | | | | | | | | In file included from ./generic/itcl2TclOO.c:12:0: /Tcl/include/tclInt.h:3012:8: warning: ‘struct addrinfo’ declared inside parameter list [enabled by default] const char **errorMsgPtr); ^
* | | Don't use TclpInetNtoa any more, use inet_ntoa in stead. Since IP6 support ↵jan.nijtmans2013-06-211-0/+1
| | | | | | | | | | | | it's even not necessary any more (except for fake-rfc2553, but mutexes are used here already) , but it's in the internal stub table so we cannot remove it until 9.0