- ;csbdZdkZdkZdkZ dkZ dkZ dkZ eidjo deifdYZ n^dei fdYZ e a dfdYZ edjodkZd Zd eifd YZd ei fd YZey eiWn  einXndS(s?$Id: select_trigger.py,v 1.11 1999/07/27 00:05:21 rushing Exp $NsposixstriggercsedZ/dZ6dZ9dZ<dZ?dZBedZLdZRS(s5Wake up a call to select() running in the main threadcs\/0ti\}}1||_2tii||3t i |_ 4g|_ dS(N( sosspipesrswsselfstriggersasyncoresfile_dispatchers__init__sthreads allocate_lockslocksthunks(sselfsrsw((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__init__/s  cs67dt|SdS(Ns(sidsself(sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__repr__6scs9:dSdS(Ni((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pysreadable9scs<=dSdS(Ni((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyswritable<scs ?@dS(N((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyshandle_connect?scslBD|oEEz'F|iiG|ii|WdHI|iiXnJti|i ddS(Nsx( sthunksselfslocksacquiresthunkssappendsreleasesosswritestrigger(sselfsthunk((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys pull_triggerBs csLM|idNzO|iiPxk|iDP]]}QyR|WnCSTti\\}}}}}}Ud|||fGHnXq6WVg|_WdWX|iiXdS(Ni s&exception in trigger thunk: (%s:%s %s)(sselfsrecvslocksacquiresthunkssthunksasyncorescompact_tracebacksfilesfunslinestsvstbinfosrelease(sselfstbinfosthunkstsfilesvsfunsline((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys handle_readLs $( s__doc__s__init__s__repr__sreadableswritableshandle_connectsNones pull_triggers handle_read(((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pystriggers       csk^`ddfZbdZxdZ{dZ~dZdZedZd ZRS( Ns 127.9.9.9iNcsbctititi}dtititi}g|i|ih|idi|i djyk|i |iWn lmnXn|i \}}o|ip|i dq||_stii||tti|_ug|_vd|_dS(Nii(ssocketsAF_INETs SOCK_STREAMsaswsbindsselfsaddressslistens setblockingsconnectsacceptsrsaddrsclosestriggersasyncores dispatchers__init__sthreads allocate_lockslocksthunkss_trigger_connected(sselfsasrswsaddr((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__init__bs"   csxydt|SdS(Ns!(sidsself(sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__repr__xscs{|dSdS(Ni((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pysreadable{scs~dSdS(Ni((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyswritable~scs dS(N((sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyshandle_connectscsi|oEz'|ii|ii|Wd|iiXn|iiddS(Nsx( sthunksselfslocksacquiresthunkssappendsreleasestriggerssend(sselfsthunk((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys pull_triggers cs|idz|iixk|iD]]}y|WnCti\\}}}}}}d|||fGHnXq6Wg|_Wd|iiXdS(Ni s&exception in trigger thunk: (%s:%s %s)(sselfsrecvslocksacquiresthunkssthunksasyncorescompact_tracebacksfilesfunslinestsvstbinfosrelease(sselfstbinfosthunkstsfilesvsfunsline((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys handle_reads $( saddresss__init__s__repr__sreadableswritableshandle_connectsNones pull_triggers handle_read(((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pystrigger^s      s trigger_filecswdZdZdZdZdZdZdZdZdZd Z RS( sA 'triggered' file objecticsBttjotan||_d|_dS(Ns(s the_triggersNonestriggersparentsselfsbuffer(sselfsparent((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__init__s  csq|i||_t|i|ijo;|idf\}|_ti||idndS(Nscs|i|S(N(spspushsd(sdsp((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyss( sselfsbuffersdataslens buffer_sizesds the_triggers pull_triggersparent(sselfsdatasd((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyswritescs|i|ddS(Ns (sselfswritesline(sselfsline((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys writelinescs*|iti|dddS(Ns (sselfswritesstrings joinfieldsslines(sselfslines((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys writelinesscsO|io;|idf\}|_ti|i|dndS(Nscs|i|S(N(spspushsd(spsd((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyss(sselfsbuffersds the_triggers pull_triggersparent(sselfsd((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pysflushs cs dS(N((sselfsargs((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys softspacescs |it|_dS(N(sselfsflushsNonesparent(sself((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyscloses csV|idf\}|_|itf\}|_ti||ddS(Nscs|i||ifS(N(spspushsdsclose_when_done(spsd((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyss(sselfsbuffersdsparentsNonesps the_triggers pull_trigger(sselfspsd((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys trigger_closes( s__doc__s buffer_sizes__init__swrites writelines writelinessflushs softspacescloses trigger_close(((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys trigger_files         s__main__csdGHxV|oKtid|id|||f|i|d}qW|idGHdS(Nsentering thread_functionis %2d.%2d %s isexiting thread_function(snstimessleeps output_fileswritesisflushsclose(s output_filesisn((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pysthread_functions   s thread_parentcs)dZdZdZRS(NcsQ||_tii|||idd|_d|_dS(Ns si( saddrsselfsasynchats async_chats__init__sconnsset_terminatorsbufferscount(sselfsconnsaddr((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__init__s   cs|i||_dS(N(sselfsbuffersdata(sselfsdata((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pyscollect_incoming_datascs|idf\}|_| o tidGHdSntiti|d}t |}|i d|_ t i t||i |fdS(Nssdoneii(sselfsbuffersdatasasyncores close_allsstringsatoissplitsns trigger_filestfscountsthreadsstart_new_threadsthread_function(sselfstfsdatasn((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pysfound_terminators   (s__init__scollect_incoming_datasfound_terminator(((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys thread_parents  s thread_servercs,eiddfdZdZRS(Nsi+#cs]tii||i|ti|i|i ||i ddS(Ni( sasyncores dispatchers__init__sselfs create_socketsfamilyssockets SOCK_STREAMsset_reuse_addrsbindsaddressslisten(sselfsfamilysaddress((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys__init__s  cs.|i\}}t||}dS(N(sselfsacceptsconnsaddrs thread_parentstp(sselfstpsaddrsconn((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys handle_accepts(ssocketsAF_INETs__init__s handle_accept(((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys thread_servers(sVERSION_STRINGsasyncoresasynchatsosssocketsstringsthreadsnamesfile_dispatcherstriggers dispatchersNones the_triggers trigger_files__name__stimesthread_functions async_chats thread_parents thread_serversloops close_all( sVERSION_STRINGsasynchatsasyncoressocketsthreads trigger_files thread_serverstriggersthread_functionstimes thread_parentsossstring((sT/usr/ports/www/adzapper/work/adzapper-0.4.0/src/medusa-old1/thread/select_trigger.pys?s*        O> 6