Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | struct NextChannelHandler used only locally. Remove from tclIO.h. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core-8-4-branch |
Files: | files | file ages | folders |
SHA1: |
f04cd919eef817f70d5eb20eb23c01ab |
User & Date: | dgp 2013-02-26 16:38:17 |
Context
2013-02-26
| ||
17:15 | structs ChannelHandler ChannelHandlerEvent GetsState CopyState used locally. Remove from tclIO.h. check-in: b8a10548fd user: dgp tags: core-8-4-branch | |
16:38 | struct NextChannelHandler used only locally. Remove from tclIO.h. check-in: f04cd919ee user: dgp tags: core-8-4-branch | |
2013-02-25
| ||
18:05 | Repair linked list management in Tcl_DeleteCloseHandler(). CloseCallback struct is used only locall... check-in: 5a27ca7124 user: dgp tags: core-8-4-branch | |
Changes
Changes to generic/tclIO.c.
︙ | ︙ | |||
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <assert.h> #ifndef TCL_INHERIT_STD_CHANNELS #define TCL_INHERIT_STD_CHANNELS 1 #endif /* * All static variables used in this file are collected into a single * instance of the following structure. For multi-threaded implementations, * there is one instance of this structure for each thread. * * Notice that different structures with the same name appear in other * files. The structure defined below is used in this file only. | > > > > > > > > > > > > > > > > > > > > > > > > | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <assert.h> #ifndef TCL_INHERIT_STD_CHANNELS #define TCL_INHERIT_STD_CHANNELS 1 #endif /* * This structure keeps track of the current ChannelHandler being invoked in * the current invocation of ChannelHandlerEventProc. There is a potential * problem if a ChannelHandler is deleted while it is the current one, since * ChannelHandlerEventProc needs to look at the nextPtr field. To handle this * problem, structures of the type below indicate the next handler to be * processed for any (recursively nested) dispatches in progress. The * nextHandlerPtr field is updated if the handler being pointed to is deleted. * The nextPtr field is used to chain together all recursive invocations, so * that Tcl_DeleteChannelHandler can find all the recursively nested * invocations of ChannelHandlerEventProc and compare the handler being * deleted against the NEXT handler to be invoked in that invocation; when it * finds such a situation, Tcl_DeleteChannelHandler updates the nextHandlerPtr * field of the structure to the next handler. */ typedef struct NextChannelHandler { ChannelHandler *nextHandlerPtr; /* The next handler to be invoked in * this invocation. */ struct NextChannelHandler *nestedHandlerPtr; /* Next nested invocation of * ChannelHandlerEventProc. */ } NextChannelHandler; /* * All static variables used in this file are collected into a single * instance of the following structure. For multi-threaded implementations, * there is one instance of this structure for each thread. * * Notice that different structures with the same name appear in other * files. The structure defined below is used in this file only. |
︙ | ︙ |
Changes to generic/tclIO.h.
︙ | ︙ | |||
336 337 338 339 340 341 342 | int mask; /* Mask of desired events. */ Tcl_ChannelProc *proc; /* Procedure to call in the type of * Tcl_CreateChannelHandler. */ ClientData clientData; /* Argument to pass to procedure. */ struct ChannelHandler *nextPtr; /* Next one in list of registered handlers. */ } ChannelHandler; | < < < < < < < < < < < < < < < < < < < < < < < < < | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | int mask; /* Mask of desired events. */ Tcl_ChannelProc *proc; /* Procedure to call in the type of * Tcl_CreateChannelHandler. */ ClientData clientData; /* Argument to pass to procedure. */ struct ChannelHandler *nextPtr; /* Next one in list of registered handlers. */ } ChannelHandler; /* * The following structure describes the event that is added to the Tcl * event queue by the channel handler check procedure. */ typedef struct ChannelHandlerEvent { |
︙ | ︙ |