Mercurial > cpython-lru_cache-weakref
annotate Python/getplatform.c @ 44064:00048fedbaa0
Partial fix for bug #1306
Multiple reinitializations of Python 3.0 failed on a system without a hardcoded default fs encoding. The patch makes sure that the default fs encoding is freed and reset to NULL on e.g. Linux.
I've also taken the liberty to increase the debugging in Objects/object.c:_Py_ForgetReference(). The method is used to validate the reference chain.
Reinitialization still fails in the 3rd round of my test suite:
* ob
object : <refcnt 0 at 0x821c840>
type : str
refcount: 0
address : 0x821c840
* op->_ob_prev->_ob_next
object : <refcnt 0 at 0x821c840>
type : str
refcount: 0
address : 0x821c840
* op->_ob_next->_ob_prev
object : bytearray(b'')
type : bytearray
refcount: 1
address : 0x826b838
Fatal Python error: UNREF invalid object
| author | Christian Heimes <christian@cheimes.de> |
|---|---|
| date | Fri, 30 Nov 2007 10:18:26 +0000 |
| parents | 6f6f965c5e2d |
| children |
| rev | line source |
|---|---|
|
3621
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
1 |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
2 #include "Python.h" |
|
f158edccc72c
grand renaming; added copyright to some files
Guido van Rossum <guido@python.org>
parents:
2896
diff
changeset
|
3 |
| 2896 | 4 #ifndef PLATFORM |
| 5 #define PLATFORM "unknown" | |
| 6 #endif | |
| 7 | |
|
5860
728a083242a2
Make it return a _const_ char*.
Guido van Rossum <guido@python.org>
parents:
4503
diff
changeset
|
8 const char * |
|
13658
f79434ee41fa
Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents:
13256
diff
changeset
|
9 Py_GetPlatform(void) |
| 2896 | 10 { |
| 11 return PLATFORM; | |
| 12 } |
