Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | fileevent $ch exception ... |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | tcl-469-1st-try |
Files: | files | file ages | folders |
SHA1: |
5610dcf5cd8172812b0bd091fb12b3d2 |
User & Date: | avl 2017-07-16 20:55:35 |
Context
2017-07-22
| ||
22:49 |
Make it work again with new epoll Notifier
Warning: might need some more tweaks if it turns out to ... check-in: 434eb7d003 user: avl42 tags: tcl-469-1st-try | |
2017-07-16
| ||
20:55 | fileevent $ch exception ... check-in: 5610dcf5cd user: avl tags: tcl-469-1st-try | |
2017-07-13
| ||
15:07 | merge core-8-6-branch check-in: a3919af766 user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/tclIO.c.
︙ | ︙ | |||
8917 8918 8919 8920 8921 8922 8923 | { Channel *chanPtr; /* The channel to create the handler for. */ ChannelState *statePtr; /* State info for channel */ Tcl_Channel chan; /* The opaque type for the channel. */ const char *chanName; int modeIndex; /* Index of mode argument. */ int mask; | | | | | 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 | { Channel *chanPtr; /* The channel to create the handler for. */ ChannelState *statePtr; /* State info for channel */ Tcl_Channel chan; /* The opaque type for the channel. */ const char *chanName; int modeIndex; /* Index of mode argument. */ int mask; static const char *const modeOptions[] = {"readable", "writable", "exception", NULL}; static const int maskArray[] = {TCL_READABLE, TCL_WRITABLE, TCL_EXCEPTION }; if ((objc != 3) && (objc != 4)) { Tcl_WrongNumArgs(interp, 1, objv, "channelId event ?script?"); return TCL_ERROR; } if (Tcl_GetIndexFromObj(interp, objv[2], modeOptions, "event name", 0, &modeIndex) != TCL_OK) { return TCL_ERROR; } mask = maskArray[modeIndex]; chanName = TclGetString(objv[1]); chan = Tcl_GetChannel(interp, chanName, NULL); if (chan == NULL) { return TCL_ERROR; } chanPtr = (Channel *) chan; statePtr = chanPtr->state; if ( ((statePtr->flags | TCL_EXCEPTION) & mask) == 0) { Tcl_SetObjResult(interp, Tcl_ObjPrintf("channel is not %s", (mask == TCL_READABLE) ? "readable" : "writable")); return TCL_ERROR; } /* * If we are supposed to return the script, do so. |
︙ | ︙ |