ELF:4(UVS[ hjPPPPƋD @PPV$ PPV$ PPVt Pe[^]ÍUWVS[u VEŠEx We[^_]Ð&e[^_]@FFEF }KUVS[u VR4$e[^]Í&'UVS[PE Pu 1e[^]à PVZY@RPƃt@Ft뻃 V^XPQ1떉'UVS[uPE Pue[^]Ít&'Vx;F t/PP1e[^]Í'BF@te[^]à FP&UWVS([}EEEPEPEPPE P u1e[^_]Í'EGx U;W E܃jGPXEPPuVMQURE‹Gx;W tlPPUt HtEEe[^_]ËE PPR @Gp&HG@u GPGEG > $Id: _ThreadLock.c,v 1.2 2003/11/28 16:46:39 jim Exp $% : ; I$ > $ > $ >   I : ;  : ;I8 : ; : ; I8 I !I/ &I' II : ; '  : ;<  : ; I8 : ;I : ; .? : ;' @4: ;I.: ; ' I@: ; I : ; I4: ; I 4: ; I .: ; ' I !: ; I"4: ; I# $4: ; I %1UX Y &1'1( U)41*41+.: ; ' @,4: ; I-4: ; I .1UX Y /4: ;I 04: ; I? < 14: ;I? < SI0&;  int' q8a ^ o J 1-t Z# 1# # P# # D # # # # #$  #(  #, "#0 c$#4 &Z#8 <*Z#< ,z#@ }0>#D * 1L#F  2#G 6#H x?#L >H#T EI#X LJ#\ SK#` ZL%#d NZ#h hP#l V  X # n# ]Z#{  t  'Z 2 |f, gZ#  g#g Z#  # Z# # Z#  Z# o: # W #  #  #$  #(  #, a  #0  #4  #8 )  #<  l#@   #D   #H  #L 1  #P #T 4#X d#\ #` P!& #d $#h i(Q #l )\ #p ,7#t -C#x .#| /# <0@# 7 1g # 2r # 3# (4} # 5 #  6 # 7 # 8# 9@# :@# ;@# <@#  =@# >: #,hZ~*0@@@ QW@l@@w}@@@@Z@Z@@ @Zq@5@ZZ @FZ`@Z@kqZ@ZZ@> Z@@@Z@Z0Z@ (.ZH@ZHY_Zt@@\ Z@Z@t F# F# U F# :F# F# F# R l# D# t# #$ #( #, PF#0 F#4 F#8 [ F#< F#@ n #D _#H ) #L #P #T #X F#\ F#` F#d 5F#h %F#l l#p AF#t 9 F#x F#| F# F# F# F# n F# F#z(ň Ɨ# ^F# # #  # L 5# `# N# F# #$    ԗ# F# ֐#ד  ڻ# # # x #   ( . :  E K W @b h Z @ Z   @ @uQ  Z @@ aY*  & @h 1 7 @Q @@ZD*% *O wa p  @ @@  @ Z    D,7 &# '# (Z# *#  =t .  #get #set#doc# #IPG,Q @@  Z@@_is$   # 5 # @# b @# @# > @# x @#  @#  Z# _tsT   9# :#  <# =Z#  >Z#  ?Z#  A# B#  C@# 3 D@#$  F@#( h G@#,  H@#0 f J@#4  K@#8  L@#< z N@#@  VZ#D  XZ#H K Z@#L [#P $ ,Z@Z@ _"" 4 5Z#  5# 6Z#id7# 93# ;>lm@,d@?j@RW7W @~y 0G%%0G ] Zc7$ @7@@ AZ!7@W!@Z BZ"idD#T-f c@"7bWNb@$dZup dZ%f&'()*${*D+ p7W@ 7W@ 3oZ !7nW"idq @ig7W@x%8'(X*@p,7W@/,f@O-a@ul-k@uh.x ''(*o* *%'(* < 7$C,$,@$%̣@  $$o  /G0b00 1> e1j 0 !@ ! ThreadLock/usr/lib/gcc/i486-slackware-linux/4.2.4/include/usr/include/bits/usr/include/data/zmath/include/python2.4_ThreadLock.cstddef.htypes.hstdio.hlibio.hobject.hmethodobject.hdescrobject.hpystate.hpythread.hpyerrors.h$h=!w>Lxz"=A7(0~uu/7^< 1d u f>4J2ut'v%=` ] lf _ThreadLockThreadLockTypeThreadLock.errorerrorWITH_THREADcountid|ican't allocate lockrelease unlocked lockOO|Oallocate_lockget_identThreadLockguarded_applyacquirereleasecan't initialize module ThreadLockallocate_lock() -- Return a new lock objectget_ident() -- Get the id of the current threadThread-based lock objects These lock objects may be allocated multiple times by the same thread, but may only be allocated by one thread at a time. This is useful for locking instances in possibly nested method calls guarded_apply(FUNCTION, ARGS[, KEYWORDS]) -- Make a guarded function call Acquire the lock, call the function, and then release the lock. acquire([wait]) -- Acquire a lock, taking the thread ID into accountrelease() -- Release a lock, taking the thread ID into accountz $Pp\0| (AB Bk. I.l.V. AB FP.&AB DU.$AB Fe.e.q.2AB BV.$ AB BZ.C.T.$AB B].^.b.,ppAB Ft. c.l.r.g.ttu9>P@VttuV(u (~V~u V~ul~Vulttuttu**1V14u4VuVuV**u *2W{WWWC{WW*4u`Ku`*4u\bu\u\ttu !t!#t#u KKu ttiuVu1V13u3VVVXuXiViu P3CPpqtqstsupWu}W}uWpu %upupVVVu`u`u\u\u\5ZRtRR"init_ThreadLockCKZ{,Xi@I,Xi@I.Z5ZPyInterpreterStatesize_tobjobjprocnb_inplace_remaindernb_dividePyMethodDeftp_richcomparenb_intexc_typetp_deallocdict_IO_save_endnb_nonzerotp_as_sequencetp_reprsq_item_IO_write_basecall_method_lockrecursion_depthnb_addnb_subtractGNU C 4.2.4tp_basestp_methods_IO_save_basetp_initgetwritebufferprocThreadLock_module_documentation_chainThreadLock_getattr_cur_columntp_weaklistoffsettp_is_gcnb_absolutetp_name_objectgettertp_mronb_floor_divideternaryfuncmp_ass_subscriptob_refcntlong intnb_inplace_multiplyPyThread_type_locknb_inplace_divideModule_methods_IO_markercmpfunctp_iterintintargfuncnb_inplace_or__s2_lenhashfuncgilstate_counterallocfuncnb_divmodnb_true_dividecurexc_typeintargfuncexc_tracebackprintfuncsigned char_IO_FILEPyBufferProcsThreadLockTypetp_docunsigned char/mirror/zmath/src/Zope-2.10.2-final/lib/pythoncodec_search_cachenb_inplace_true_dividenb_floattp_freesq_repeatmp_lengthtp_basenb_inplace_powernb_remainderbf_getwritebufferPyMemberDefchar_IO_lock_tlockacquiredtp_hash_IO_read_ptrcodec_search_pathPyTypeObject_posstdincurexc_valuegetattrofuncdlopenflagsPy_tracefuncsq_ass_slice__s1_lentp_getattrosq_slice_markersexc_valuegetreadbufferprocintintobjargprocreprfunctp_descr_setc_profilefuncThreadLock_dealloccreleasetp_dictnb_negativenb_lshiftunaryfunctp_traversenewfunc_offsettp_as_mappingnb_inplace_subtracttp_setattrnb_inplace_addtraverseprocnb_inplace_xorclosuretick_counterbf_getreadbuffernb_and_savetp_strlong unsigned intThreadLock_methodsself_flags2getiterfunc_IO_read_basesq_concat_unused2__quad_tPyNumberMethodssq_inplace_repeat_typeobjecttracingtp_flagsnewThreadLockObject_old_offsetcodec_error_registryargstp_compareml_flagsbf_getsegcountcurexc_tracebacklong long inttstate_headnb_inplace_lshiftThreadLock/_ThreadLock.cinit_ThreadLockdoubleml_meth_IO_write_endcacquirec_profileobjob_sizePyObjectframegetsegcountproctp_iternextnb_hextp_cleartp_callwaitcountPyCFunctioninquiry_IO_buf_baseunsigned intc_traceobj__pad1__pad2__pad3__pad4__pad5descrsetfunc_sbufnb_positiveuse_tracingtp_memberssetattrfuncPyMappingMethodsErrorObject_flagsPyExc_AttributeErrorcoercion_modetp_setattrosq_inplace_concatnb_invertgetcharbufferprociternextfunclong doublePyType_TypeFILEdescrgetfuncvisitprocacquirenb_coercebf_getcharbuffermp_subscriptlong long unsigned intbuiltinsinterpinitproc__off_ttp_allocnb_rshiftnb_inplace_andfreefunctp_getsettp_weaklist_IO_backup_base_shortbufnb_longtp_as_bufferobjobjargprocsq_ass_item_next__off64_trichcmpfuncPyGetSetDeftp_printtp_getattr_IO_buf_endPyThreadStatetp_cachetp_basicsizenamebinaryfunc__resultshort intThreadLockObjectsetterPySequenceMethodstp_itemsize_frameident_vtable_offsetnb_inplace_rshiftasync_excnb_multiplytp_as_numbernb_inplace_floor_dividesetattrofuncgetattrfuncnb_ornb_octmodulesml_doc_IO_read_endtp_delsq_containsdestructor_filenointobjargprocreleasetp_newsq_lengthob_typeshort unsigned intstdouttp_descr_get_IO_write_ptrnb_powernb_xorsysdict_Py_NoneStructcnamenexttp_subclassesml_namec_tracefunctp_dictoffset__s1thread_idGCC: (GNU) 4.2.4.symtab.strtab.shstrtab.rel.text.data.bss.debug_abbrev.rel.debug_info.rel.debug_line.rodata.str1.1.rodata.str1.4.rel.data.rel.local.rel.debug_frame.debug_loc.rel.debug_pubnames.rel.debug_aranges.debug_ranges.debug_str.comment.note.GNU-stack@ F% 8 +X0XtB> 0I RN T^2 m2!o$@ | T @%L `U& +& U+  U+0, 999 ?, C   8/0 >@ MYl@ &2 pp   , 2 D > G J K _ u  2AR^s#5K`o_ThreadLock.cThreadLock_module_documentationModule_methodsThreadLockTypeErrorObjectThreadLock_getattrThreadLock_methodsidentacquireThreadLock_deallocnewThreadLockObjectreleasecall_method.LC0.LC1.LC2.LC3.LC4.LC5.LC7.LC6.LC8.LC9.LC10.LC11.LC12init_ThreadLock_GLOBAL_OFFSET_TABLE_Py_InitModule4PyModule_GetDictPyType_TypePyDict_SetItemStringPyString_FromStringPyInt_FromLongPyErr_OccurredPy_FatalErrorPyString_AsStringPy_FindMethodPyExc_AttributeErrorPyErr_SetObjectPyThread_get_thread_identPyArg_ParseTuplePyEval_SaveThreadPyThread_acquire_lockPyEval_RestoreThread_Py_NoneStructPyThread_free_lockPyObject_FreePyObject_MallocPyObject_InitPyThread_allocate_lockPyErr_SetStringPyThread_release_lockPyEval_CallObjectWithKeywords - $ + 1.:/B0H Q X _1e m2s } !13 "14 #5 -6 72 $; $I $]3x %389 -:3 - &;D:[<u=>3? -@A- -6 '@;Y _Bg nCDA ( E - ';: ) #EK?`F - *;:<= >'G/:I )P VEF !&3:AHOVdkp{ *9HWfu )8GVeu|-9GUcq-<KZix.>N^n~ Gm 6aOu  " 0 > L Z h v             , : H V d r            & 4 B P ^ l z            ; X        ' R ] h s ~      )>JW$2@N\jx %3AO]ky#4GUc~ +6:?Jitx|!&4>GR\jos|  )38BKW`hsw{%=INZ_k.   LX    $, DHhl $