• Armin Rigo's avatar
    Upon insertion, if memory runs out, the deque was left in a corrupted state. · 974d757a
    Armin Rigo yazdı
    deque_item(): a performance bug: the linked list of blocks was followed
    from the left in most cases, because the test (i < (deque->len >> 1)) was
    after "i %= BLOCKLEN".
    
    deque_clear(): replaced a call to deque_len() with deque->len; not sure what
    this call was here for, nor if all compilers under the sun would inline it.
    
    deque_traverse(): I belive that it could be called by the GC when the deque
    has leftblock==rightblock==NULL, because it is tracked before the first block
    is allocated (though closely before).  Still, a C extension module subclassing
    deque could provide its own tp_alloc that could trigger a GC collection after
    the PyObject_GC_Track()...
    
    deque_richcompare(): rewrote to cleanly check for end-of-iterations instead of
    relying on deque.__iter__().next() to succeed exactly len(deque) times -- an
    assumption which can break if deques are subclassed.  Added a test.
    
    I wonder if the length should be explicitely bounded to INT_MAX, with
    OverflowErrors, as in listobject.c.  On 64-bit machines, adding more than
    INT_MAX in the deque will result in trouble.  (Note to anyone/me fixing
    this: carefully check for overflows if len is close to INT_MAX in the
    following functions: deque_rotate(), deque_item(), deque_ass_item())
    974d757a
Adı
Son kayıt (commit)
Son güncelleme
..
cjkcodecs Loading commit data...
expat Loading commit data...
.cvsignore Loading commit data...
Setup.config.in Loading commit data...
Setup.dist Loading commit data...
_bisectmodule.c Loading commit data...
_bsddb.c Loading commit data...
_codecsmodule.c Loading commit data...
_csv.c Loading commit data...
_curses_panel.c Loading commit data...
_cursesmodule.c Loading commit data...
_heapqmodule.c Loading commit data...
_hotshot.c Loading commit data...
_localemodule.c Loading commit data...
_randommodule.c Loading commit data...
_sre.c Loading commit data...
_ssl.c Loading commit data...
_testcapimodule.c Loading commit data...
_tkinter.c Loading commit data...
_weakref.c Loading commit data...
addrinfo.h Loading commit data...
almodule.c Loading commit data...
ar_beos Loading commit data...
arraymodule.c Loading commit data...
audioop.c Loading commit data...
binascii.c Loading commit data...
bsddbmodule.c Loading commit data...
bz2module.c Loading commit data...
cPickle.c Loading commit data...
cStringIO.c Loading commit data...
ccpython.cc Loading commit data...
cdmodule.c Loading commit data...
cgen.py Loading commit data...
cgensupport.c Loading commit data...
cgensupport.h Loading commit data...
clmodule.c Loading commit data...
cmathmodule.c Loading commit data...
collectionsmodule.c Loading commit data...
config.c.in Loading commit data...
cryptmodule.c Loading commit data...
cstubs Loading commit data...
datetimemodule.c Loading commit data...
dbmmodule.c Loading commit data...
dlmodule.c Loading commit data...
errnomodule.c Loading commit data...
fcntlmodule.c Loading commit data...
flmodule.c Loading commit data...
fmmodule.c Loading commit data...
fpectlmodule.c Loading commit data...
fpetestmodule.c Loading commit data...
gc_weakref.txt Loading commit data...
gcmodule.c Loading commit data...
gdbmmodule.c Loading commit data...
getaddrinfo.c Loading commit data...
getbuildinfo.c Loading commit data...
getnameinfo.c Loading commit data...
getpath.c Loading commit data...
glmodule.c Loading commit data...
grpmodule.c Loading commit data...
imageop.c Loading commit data...
imgfile.c Loading commit data...
itertoolsmodule.c Loading commit data...
ld_so_aix Loading commit data...
ld_so_beos Loading commit data...
linuxaudiodev.c Loading commit data...
main.c Loading commit data...
makesetup Loading commit data...
makexp_aix Loading commit data...
mathmodule.c Loading commit data...
md5.h Loading commit data...
md5c.c Loading commit data...
md5module.c Loading commit data...
mmapmodule.c Loading commit data...
nismodule.c Loading commit data...
operator.c Loading commit data...
ossaudiodev.c Loading commit data...
parsermodule.c Loading commit data...
posixmodule.c Loading commit data...
puremodule.c Loading commit data...
pwdmodule.c Loading commit data...
pyexpat.c Loading commit data...
python.c Loading commit data...
readline.c Loading commit data...
regexmodule.c Loading commit data...
regexpr.c Loading commit data...
regexpr.h Loading commit data...
resource.c Loading commit data...
rgbimgmodule.c Loading commit data...
selectmodule.c Loading commit data...
sgimodule.c Loading commit data...
shamodule.c Loading commit data...
signalmodule.c Loading commit data...
socketmodule.c Loading commit data...
socketmodule.h Loading commit data...
sre.h Loading commit data...
sre_constants.h Loading commit data...
stropmodule.c Loading commit data...
structmodule.c Loading commit data...
sunaudiodev.c Loading commit data...
svmodule.c Loading commit data...
symtablemodule.c Loading commit data...
syslogmodule.c Loading commit data...
termios.c Loading commit data...
testcapi_long.h Loading commit data...
threadmodule.c Loading commit data...
timemodule.c Loading commit data...
timing.h Loading commit data...
timingmodule.c Loading commit data...
tkappinit.c Loading commit data...
unicodedata.c Loading commit data...
unicodedata_db.h Loading commit data...
unicodename_db.h Loading commit data...
xxmodule.c Loading commit data...
xxsubtype.c Loading commit data...
yuv.h Loading commit data...
yuvconvert.c Loading commit data...
zipimport.c Loading commit data...
zlibmodule.c Loading commit data...