diff options
author | Guilherme Polo <ggpolo@gmail.com> | 2009-02-09 20:50:27 (GMT) |
---|---|---|
committer | Guilherme Polo <ggpolo@gmail.com> | 2009-02-09 20:50:27 (GMT) |
commit | a66cf5bd04d40f3b0515dd43a1f337092f1df3cd (patch) | |
tree | e48a11a5affa6f45bbdc69f4cf1a6002fbdb48a3 /Modules/tkinter.h | |
parent | 55bdb8e4ac16c1c0127f122d42b4bc66675598e5 (diff) | |
download | cpython-a66cf5bd04d40f3b0515dd43a1f337092f1df3cd.zip cpython-a66cf5bd04d40f3b0515dd43a1f337092f1df3cd.tar.gz cpython-a66cf5bd04d40f3b0515dd43a1f337092f1df3cd.tar.bz2 |
Fixed issue #5122: Synchronize tk load failure check to prevent a
potential deadlock.
Diffstat (limited to 'Modules/tkinter.h')
-rw-r--r-- | Modules/tkinter.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Modules/tkinter.h b/Modules/tkinter.h new file mode 100644 index 0000000..57be878 --- /dev/null +++ b/Modules/tkinter.h @@ -0,0 +1,25 @@ +#ifndef TKINTER_H +#define TKINTER_H + +/* This header is used to share some macros between _tkinter.c and + * tkappinit.c */ + +/* TK_RELEASE_LEVEL is always one of the following: + * TCL_ALPHA_RELEASE 0 + * TCL_BETA_RELEASE 1 + * TCL_FINAL_RELEASE 2 + */ +#define TK_VERSION_HEX ((TK_MAJOR_VERSION << 24) | \ + (TK_MINOR_VERSION << 16) | \ + (TK_RELEASE_SERIAL << 8) | \ + (TK_RELEASE_LEVEL << 0)) + +/* Protect Tk 8.4.13 and older from a deadlock that happens when trying + * to load tk after a failed attempt. */ +#if TK_VERSION_HEX < 0x08040e02 +#define TKINTER_PROTECT_LOADTK +#define TKINTER_LOADTK_ERRMSG \ + "Calling Tk_Init again after a previous call failed might deadlock" +#endif + +#endif /* !TKINTER_H */ |