linux/fs/select.c
<<
on> 14./spae=" 14./form=" 14.a on> 14 href="../linux+v3.7.5/fs/select.c">on> 14.img src="../.static/gfx/right.png" alt=">>">on./spae="on.spae class="lxr_search">on> on> 14.input typv3.hidden" namv3.navtarget" > v3.">on> 14.input typv3.text" namv3.search" id3.search">on> 14.butt typv3.submit">Search 14 onclick="return ajax_prefs();">on> 14Prefs" 14./a>on./spae="> 14 4./div="> 14 4.form acalue="ajax+*" method="post" onsubmit="return false;">on.input typv3.hidden" namv3.ajax_lookup" id3.ajax_lookup" > v3.">o> 14 4./form="o> 14 4.div class="headingbott m"> 14 14 14 4.div id3.search_results" class="search_results"" 1="> 14 4./div=" .div id3.content">" .div id3.file_contents"=
4 41./a>.spae class="comment">/*./spae="4 42./a>.spae class="comment"> * This file contains the procedures for the handling of select and poll./spae="4 43./a>.spae class="comment"> *./spae="4 44./a>.spae class="comment"> * Created for Linux based loosely up	  Mathius Lattner's minix./spae="4 45./a>.spae class="comment"> * patches by Peter MacDonald. Heavily edited by Linus../spae="4 46./a>.spae class="comment"> *./spae="4 47./a>.spae class="comment"> *  4 February 1994./spae="4 48./a>.spae class="comment"> *     COFF/ELF binary emulaalue. If the process has the STICKY_TIMEOUTS./spae="4 49./a>.spae class="comment"> *     flag set in its personality we do *not* modify the give  timeout./spae="4 tiona>.spae class="comment"> *     paramvter to reflect time remaining../spae="4 11./a>.spae class="comment"> *./spae="4 12./a>.spae class="comment"> *  24 January 2000./spae="4 13./a>.spae class="comment"> *     Changed sys_poll()/do_poll() to use PAGE_SIZE chunk-based allocaalue ./spae="4 14./a>.spae class="comment"> * 
14 of fds to overcome nfds < 16390 descriptors limit (Tigrae Aivazian)../spae="4 15./a>.spae class="comment"> */./spae="4 16./a>"4 17./a>#include <linux/kernel.h./a>>"4 18./a>#include <linux/sched.h./a>>"4 19./a>#include <linux/syscalls.h./a>>"4 20./a>#include <linux/export.h./a>>"4 21./a>#include <linux/slab.h./a>>"4 22./a>#include <linux/poll.h./a>>"4 23./a>#include <linux/personality.h./a>> .spae class="comment">/* for STICKY_TIMEOUTS */./spae="4 24./a>#include <linux/file.h./a>>"4 25./a>#include <linux/fdtable.h./a>>"4 26./a>#include <linux/fs.h./a>>"4 27./a>#include <linux/rcupdate.h./a>>"4 28./a>#include <linux/hrtimer.h./a>>"4 29./a>"4 30./a>#include <asm/uaccess.h./a>>"4 31./a>"4 32./a>"4 33./a>.spae class="comment">/*./spae="4 34./a>.spae class="comment"> * Estimate expected accuracy in ns from a timeval../spae="4 35./a>.spae class="comment"> *./spae="4 36./a>.spae class="comment"> * After quite a bit of churning around, we've settled on./spae="4 37./a>.spae class="comment"> * a simple thing of taking 0.1% of the timeout as the./spae="4 38./a>.spae class="comment"> * slack, with a cap of 100 msec../spae="4 39./a>.spae class="comment"> * "nice" tasks get a 0.5% slack instead../spae="4 4iona>.spae class="comment"> *./spae="4 41./a>.spae class="comment"> * Consider this comment ae open invitaalue to come up with even./spae="4 42./a>.spae class="comment"> * better solualues.../spae="4 43./a>.spae class="comment"> */./spae="4 44./a>"4 45./a>#define4.a href="+code=MAX_SLACK" class="sref">MAX_SLACK./a>>
14 4 (100 *4.a href="+code=NSEC_PER_MSEC" class="sref">NSEC_PER_MSEC./a>)"4 46./a>"4 47./a>static long .a href="+code=__estimate_accuracy" class="sref">__estimate_accuracy./a>(struct .a href="+code=timespec" class="sref">timespec./a>>*.a href="+code=tv" class="sref">tv./a>)"4 48./a>{"4 49./a>>
14 4  long .a href="+code=slack" class="sref">slack./a>;"4 50./a>>
14 4  int .a href="+code=divfactor" class="sref">divfactor./a>>= 1000;"4 51./a>"4 52./a>>
14 4  if (.a href="+code=tv" class="sref">tv./a>->.a href="+code=tv_sec" class="sref">tv_sec./a>>< 0)"4 53./a>>
14 4          return 0;"4 54./a>"4 55./a>>
14 4  if (.a href="+code=task_nice" class="sref">task_nice./a>(.a href="+code=current" class="sref">current./a>) > 0)"4 56./a>>
14 4          .a href="+code=divfactor" class="sref">divfactor./a>>= .a href="+code=divfactor" class="sref">divfactor./a>>/ 5;"4 57./a>"4 58./a>>
14 4  if (.a href="+code=tv" class="sref">tv./a>->.a href="+code=tv_sec" class="sref">tv_sec./a>>> .a href="+code=MAX_SLACK" class="sref">MAX_SLACK./a>>/ (.a href="+code=NSEC_PER_SEC" class="sref">NSEC_PER_SEC./a>/.a href="+code=divfactor" class="sref">divfactor./a>))"4 59./a>>
14 4          return .a href="+code=MAX_SLACK" class="sref">MAX_SLACK./a>;"4 60./a>"4 61./a>>
14 4  .a href="+code=slack" class="sref">slack./a>>= .a href="+code=tv" class="sref">tv./a>->.a href="+code=tv_nsec" class="sref">tv_nsec./a>>/ .a href="+code=divfactor" class="sref">divfactor./a>;"4 62./a>>
14 4  .a href="+code=slack" class="sref">slack./a>>+= .a href="+code=tv" class="sref">tv./a>->.a href="+code=tv_sec" class="sref">tv_sec./a>>* (.a href="+code=NSEC_PER_SEC" class="sref">NSEC_PER_SEC./a>/.a href="+code=divfactor" class="sref">divfactor./a>);"4 63./a>"4 64./a>>
14 4  if (.a href="+code=slack" class="sref">slack./a>>> .a href="+code=MAX_SLACK" class="sref">MAX_SLACK./a>)"4 65./a>>
14 4          return .a href="+code=MAX_SLACK" class="sref">MAX_SLACK./a>;"4 66./a>"4 67./a>>
14 4  return .a href="+code=slack" class="sref">slack./a>;"4 68./a>}"4 69./a>"4 70./a>long .a href="+code=select_estimate_accuracy" class="sref">select_estimate_accuracy./a>(struct .a href="+code=timespec" class="sref">timespec./a>>*.a href="+code=tv" class="sref">tv./a>)"4 71./a>{"4 72./a>>
14 4  unsigned long .a href="+code=ret" class="sref">ret./a>;"4 73./a>>
14 4  struct .a href="+code=timespec" class="sref">timespec./a>>.a href="+code=now" class="sref">now./a>;"4 74./a>"4 75./a>>
14 4  .spae class="comment">/*./spae="4 76./a>.spae class="comment">         * Realtime tasks get a slack of 0 for obvious reasues../spae="4 77./a>.spae class="comment">         */./spae="4 78./a>"4 79./a>>
14 4  if (.a href="+code=rt_task" class="sref">rt_task./a>(.a href="+code=current" class="sref">current./a>))"4 80./a>>
14 4          return 0;"4 81./a>"4 82./a>>
14 4  .a href="+code=ktime_get_ts" class="sref">ktime_get_ts./a>(&.a href="+code=now" class="sref">now./a>);"4 83./a>>
14 4  .a href="+code=now" class="sref">now./a>>= .a href="+code=timespec_sub" class="sref">timespec_sub./a>(*.a href="+code=tv" class="sref">tv./a>, .a href="+code=now" class="sref">now./a>);"4 84./a>>
14 4  .a href="+code=ret" class="sref">ret./a>>= .a href="+code=__estimate_accuracy" class="sref">__estimate_accuracy./a>(&.a href="+code=now" class="sref">now./a>);"4 85./a>>
14 4  if (.a href="+code=ret" class="sref">ret./a>>< .a href="+code=current" class="sref">current./a>->.a href="+code=timer_slack_ns" class="sref">timer_slack_ns./a>)"4 86./a>>
14 4          return .a href="+code=current" class="sref">current./a>->.a href="+code=timer_slack_ns" class="sref">timer_slack_ns./a>;"4 87./a>>
14 4  return .a href="+code=ret" class="sref">ret./a>;"4 88./a>}"4 89./a>"4 90./a>"4 91./a>"4 92./a>struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>{"4 93./a>>
14 4  struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*4.a href="+code=next" class="sref">next./a>;"4 94./a>>
14 4  struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*4.a href="+code=entry" class="sref">entry./a>;"4 95./a>>
14 4  struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>.a href="+code=entries" class="sref">entries./a>[0];"4 96./a>};"4 97./a>"4 98./a>#define4.a href="+code=POLL_TABLE_FULL" class="sref">POLL_TABLE_FULL./a>(.a href="+code=table" class="sref">table./a>) \"4 99./a>>
14 4  ((unsigned long)((.a href="+code=table" class="sref">table./a>)->.a href="+code=entry" class="sref">entry./a>+1)>> .a href="+code=PAGE_SIZE" class="sref">PAGE_SIZE./a>>+ (unsigned long)(.a href="+code=table" class="sref">table./a>))"4100./a>"4101./a>.spae class="comment">/*./spae="4102./a>.spae class="comment"> * Ok, Peter made a complicated, but straightforward multiple_wait() funcalue../spae="4103./a>.spae class="comment"> * I have rewritte  this, taking some shortcuts: This code may not be easy to./spae="4104./a>.spae class="comment"> * follow, but it should be free of race-condialues, and it's pracalcal. If you./spae="4105./a>.spae class="comment"> * understand what I'm doing here, then you understand how the linux./spae="4106./a>.spae class="comment"> * sleep/wakeup mechanism works../spae="4107./a>.spae class="comment"> *./spae="4108./a>.spae class="comment"> * Two very simple procedures, poll_wait() and poll_freewait() make all the./spae="4109./a>.spae class="comment"> * work.  poll_wait() is an inline-funcalue defined in <linux/poll.h>,./spae="41tiona>.spae class="comment"> * as all select/poll funcalues have to call it to add an entry to the./spae="4111./a>.spae class="comment"> * poll table../spae="4112./a>.spae class="comment"> */./spae="4113./a>static void .a href="+code=__pollwait" class="sref">__pollwait./a>(struct .a href="+code=file" class="sref">file./a>>*.a href="+code=filp" class="sref">filp./a>, .a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t./a>>*.a href="+code=wait_address" class="sref">wait_address./a>,"4114./a>>
14 4                 .a href="+code=poll_table" class="sref">poll_table./a>>*.a href="+code=p" class="sref">p./a>);"4115./a>"4116./a>void .a href="+code=poll_initwait" class="sref">poll_initwait./a>(struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>)"4117./a>{"4118./a>>
14 4  .a href="+code=init_poll_funcptr" class="sref">init_poll_funcptr./a>(&.a href="+code=pwq" class="sref">pwq./a>->.a href="+code=pt" class="sref">pt./a>, .a href="+code=__pollwait" class="sref">__pollwait./a>);"4119./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=polling_task" class="sref">polling_task./a>>= .a href="+code=current" class="sref">current./a>;"4120./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=triggered" class="sref">triggered./a>>= 0;"4121./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=error" class="sref">error./a>>= 0;"4122./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=table" class="sref">table./a>>= .a href="+code=NULL" class="sref">NULL./a>;"4123./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=inline_index" class="sref">inline_index./a>>= 0;"4124./a>}"4125./a>.a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL./a>(.a href="+code=poll_initwait" class="sref">poll_initwait./a>);"4126./a>"4127./a>static void .a href="+code=free_poll_entry" class="sref">free_poll_entry./a>(struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*.a href="+code=entry" class="sref">entry./a>)"4128./a>{"4129./a>>
14 4  .a href="+code=remove_wait_queue" class="sref">remove_wait_queue./a>(.a href="+code=entry" class="sref">entry./a>->.a href="+code=wait_address" class="sref">wait_address./a>, &.a href="+code=entry" class="sref">entry./a>->.a href="+code=wait" class="sref">wait./a>);"4130./a>>
14 4  .a href="+code=fput" class="sref">fput./a>(.a href="+code=entry" class="sref">entry./a>->.a href="+code=filp" class="sref">filp./a>);"4131./a>}"4132./a>"4133./a>void .a href="+code=poll_freewait" class="sref">poll_freewait./a>(struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>)"4134./a>{"4135./a>>
14 4  struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*4.a href="+code=p" class="sref">p./a>>= .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=table" class="sref">table./a>;"4136./a>>
14 4  int .a href="+code=i" class="sref">i./a>;"4137./a>>
14 4  for (.a href="+code=i" class="sref">i./a>>= 0; .a href="+code=i" class="sref">i./a>>< .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=inline_index" class="sref">inline_index./a>; .a href="+code=i" class="sref">i./a>++)"4138./a>>
14 4  >
14 4  .a href="+code=free_poll_entry" class="sref">free_poll_entry./a>(.a href="+code=pwq" class="sref">pwq./a>->.a href="+code=inline_entries" class="sref">inline_entries./a>>+ .a href="+code=i" class="sref">i./a>);"4139./a>>
14 4  while (.a href="+code=p" class="sref">p./a>)>{"4140./a>>
14 4          struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*4.a href="+code=entry" class="sref">entry./a>;"4141./a>>
14 4          struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*.a href="+code=old" class="sref">old./a>;"4142./a>"4143./a>>
14 4          .a href="+code=entry" class="sref">entry./a>>= .a href="+code=p" class="sref">p./a>->.a href="+code=entry" class="sref">entry./a>;"4144./a>>
14 4          do>{"4145./a>>
14 4                  .a href="+code=entry" class="sref">entry./a>--;"4146./a>>
14 4          >
14 4  .a href="+code=free_poll_entry" class="sref">free_poll_entry./a>(.a href="+code=entry" class="sref">entry./a>);"4147./a>>
14 4          } while (.a href="+code=entry" class="sref">entry./a>>> .a href="+code=p" class="sref">p./a>->.a href="+code=entries" class="sref">entries./a>);"4148./a>>
14 4  >
14 4  .a href="+code=old" class="sref">old./a>>= .a href="+code=p" class="sref">p./a>;"4149./a>>
14 4  >
14 4  .a href="+code=p" class="sref">p./a>>= .a href="+code=p" class="sref">p./a>->.a href="+code=next" class="sref">next./a>;"4150./a>>
14 4          .a href="+code=free_page" class="sref">free_page./a>((unsigned long) .a href="+code=old" class="sref">old./a>);"4151./a>>
14 4  }"4152./a>}"4153./a>.a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL./a>(.a href="+code=poll_freewait" class="sref">poll_freewait./a>);"4154./a>"4155./a>static struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*.a href="+code=poll_get_entry" class="sref">poll_get_entry./a>(struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=p" class="sref">p./a>)"4156./a>{"4157./a>>
14 4  struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*.a href="+code=table" class="sref">table./a>>= .a href="+code=p" class="sref">p./a>->.a href="+code=table" class="sref">table./a>;"4158./a>"4159./a>>
14 4  if (.a href="+code=p" class="sref">p./a>->.a href="+code=inline_index" class="sref">inline_index./a>>< .a href="+code=N_INLINE_POLL_ENTRIES" class="sref">N_INLINE_POLL_ENTRIES./a>)"4160./a>>
14 4          return .a href="+code=p" class="sref">p./a>->.a href="+code=inline_entries" class="sref">inline_entries./a>>+ .a href="+code=p" class="sref">p./a>->.a href="+code=inline_index" class="sref">inline_index./a>++;"4161./a>"4162./a>>
14 4  if (!.a href="+code=table" class="sref">table./a>>||4.a href="+code=POLL_TABLE_FULL" class="sref">POLL_TABLE_FULL./a>(.a href="+code=table" class="sref">table./a>))>{"4163./a>>
14 4          struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*.a href="+code=new_table" class="sref">new_table./a>;"4164./a>"4165./a>>
14 4          .a href="+code=new_table" class="sref">new_table./a>>= (struct .a href="+code=poll_table_page" class="sref">poll_table_page./a>>*) .a href="+code=__get_free_page" class="sref">__get_free_page./a>(.a href="+code=GFP_KERNEL" class="sref">GFP_KERNEL./a>);"4166./a>>
14 4          if (!.a href="+code=new_table" class="sref">new_table./a>)>{"4167./a>>
14 4          >
14 4  .a href="+code=p" class="sref">p./a>->.a href="+code=error" class="sref">error./a>>= -.a href="+code=ENOMEM" class="sref">ENOMEM./a>;"4168./a>>
14 4  >
14 4          return .a href="+code=NULL" class="sref">NULL./a>;"4169./a>>
14 4  >
14 4  }"4170./a>>
14 4          .a href="+code=new_table" class="sref">new_table./a>->.a href="+code=entry" class="sref">entry./a>>= .a href="+code=new_table" class="sref">new_table./a>->.a href="+code=entries" class="sref">entries./a>;"4171./a>>
14 4          .a href="+code=new_table" class="sref">new_table./a>->.a href="+code=next" class="sref">next./a>>= .a href="+code=table" class="sref">table./a>;"4172./a>>
14 4  >
14 4  .a href="+code=p" class="sref">p./a>->.a href="+code=table" class="sref">table./a>>= .a href="+code=new_table" class="sref">new_table./a>;"4173./a>>
14 4          .a href="+code=table" class="sref">table./a>>= .a href="+code=new_table" class="sref">new_table./a>;"4174./a>>
14 4  }"4175./a>"4176./a>>
14 4  return .a href="+code=table" class="sref">table./a>->.a href="+code=entry" class="sref">entry./a>++;"4177./a>}"4178./a>"4179./a>static int .a href="+code=__pollwake" class="sref">__pollwake./a>(.a href="+code=wait_queue_t" class="sref">wait_queue_t./a>>*.a href="+code=wait" class="sref">wait./a>, unsigned .a href="+code=mode" class="sref">mode./a>, int .a href="+code=sync" class="sref">sync./a>, void *.a href="+code=key" class="sref">key./a>)"4180./a>{"4181./a>>
14 4  struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>>= .a href="+code=wait" class="sref">wait./a>->.a href="+code=private" class="sref">private./a>;"4182./a>>
14 4  .a href="+code=DECLARE_WAITQUEUE" class="sref">DECLARE_WAITQUEUE./a>(.a href="+code=dummy_wait" class="sref">dummy_wait./a>, .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=polling_task" class="sref">polling_task./a>);"4183./a>"4184./a>>
14 4  .spae class="comment">/*./spae="4185./a>.spae class="comment">         * Although this funcalue is called under waitqueue lock, LOCK./spae="4186./a>.spae class="comment">         * doesn't imply write barrier and the users expect write./spae="4187./a>.spae class="comment">         * barrier semantics ue wakeup funcalues.  The following./spae="4188./a>.spae class="comment">         * smp_wmb() is equivalent to smp_wmb() in try_to_wake_up()./spae="4189./a>.spae class="comment">         * and is paired with set_mb() in poll_schedule_timeout../spae="419iona>.spae class="comment">         */./spae="4191./a>>
14 4  .a href="+code=smp_wmb" class="sref">smp_wmb./a>();"4192./a>>
14 4  .a href="+code=pwq" class="sref">pwq./a>->.a href="+code=triggered" class="sref">triggered./a>>= 1;"4193./a>"4194./a>>
14 4  .spae class="comment">/*./spae="4195./a>.spae class="comment">         * Perform the default wake up operaalue using a dummy./spae="4196./a>.spae class="comment">         * waitqueue../spae="4197./a>.spae class="comment">         *./spae="4198./a>.spae class="comment">         * TODO: This is hacky but there currently is no interface to./spae="4199./a>.spae class="comment">         * pass in @sync.  @sync is scheduled to be removed and once./spae="420iona>.spae class="comment">         * that happees, wake_up_process() cae be used directly../spae="4201./a>.spae class="comment">         */./spae="4202./a>>
14 4  return .a href="+code=default_wake_funcalue" class="sref">default_wake_funcalue./a>(&.a href="+code=dummy_wait" class="sref">dummy_wait./a>, .a href="+code=mode" class="sref">mode./a>, .a href="+code=sync" class="sref">sync./a>, .a href="+code=key" class="sref">key./a>);"4203./a>}"4204./a>"4205./a>static int .a href="+code=pollwake" class="sref">pollwake./a>(.a href="+code=wait_queue_t" class="sref">wait_queue_t./a>>*.a href="+code=wait" class="sref">wait./a>, unsigned .a href="+code=mode" class="sref">mode./a>, int .a href="+code=sync" class="sref">sync./a>, void *.a href="+code=key" class="sref">key./a>)"4206./a>{"4207./a>>
14 4  struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*.a href="+code=entry" class="sref">entry./a>;"4208./a>"4209./a>>
14 4  .a href="+code=entry" class="sref">entry./a>>= .a href="+code=container_of" class="sref">container_of./a>(.a href="+code=wait" class="sref">wait./a>, struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>, .a href="+code=wait" class="sref">wait./a>);"4210./a>>
14 4  if (.a href="+code=key" class="sref">key./a> && !((unsigned long).a href="+code=key" class="sref">key./a> & .a href="+code=entry" class="sref">entry./a>->.a href="+code=key" class="sref">key./a>))"4211./a>>
14 4          return 0;"4212./a>>
14 4  return .a href="+code=__pollwake" class="sref">__pollwake./a>(.a href="+code=wait" class="sref">wait./a>, .a href="+code=mode" class="sref">mode./a>, .a href="+code=sync" class="sref">sync./a>, .a href="+code=key" class="sref">key./a>);"4213./a>}"4214./a>"4215./a>.spae class="comment">/* Add a new entry */./spae="4216./a>static void .a href="+code=__pollwait" class="sref">__pollwait./a>(struct .a href="+code=file" class="sref">file./a>>*.a href="+code=filp" class="sref">filp./a>, .a href="+code=wait_queue_head_t" class="sref">wait_queue_head_t./a>>*.a href="+code=wait_address" class="sref">wait_address./a>,"4217./a>>
14 4          >
14 4  >
14 4  .a href="+code=poll_table" class="sref">poll_table./a>>*.a href="+code=p" class="sref">p./a>)"4218./a>{"4219./a>>
14 4  struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>>= .a href="+code=container_of" class="sref">container_of./a>(.a href="+code=p" class="sref">p./a>, struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>, .a href="+code=pt" class="sref">pt./a>);"4220./a>>
14 4  struct .a href="+code=poll_table_entry" class="sref">poll_table_entry./a>>*.a href="+code=entry" class="sref">entry./a>>= .a href="+code=poll_get_entry" class="sref">poll_get_entry./a>(.a href="+code=pwq" class="sref">pwq./a>);"4221./a>>
14 4  if (!.a href="+code=entry" class="sref">entry./a>)"4222./a>>
14 4  >
14 4  return;"4223./a>>
14 4  .a href="+code=entry" class="sref">entry./a>->.a href="+code=filp" class="sref">filp./a>>= .a href="+code=get_file" class="sref">get_file./a>(.a href="+code=filp" class="sref">filp./a>);"4224./a>>
14 4  .a href="+code=entry" class="sref">entry./a>->.a href="+code=wait_address" class="sref">wait_address./a>>= .a href="+code=wait_address" class="sref">wait_address./a>;"4225./a>>
14 4  .a href="+code=entry" class="sref">entry./a>->.a href="+code=key" class="sref">key./a> = .a href="+code=p" class="sref">p./a>->.a href="+code=_key" class="sref">_key./a>;"4226./a>>
14 4  .a href="+code=init_waitqueue_func_entry" class="sref">init_waitqueue_func_entry./a>(&.a href="+code=entry" class="sref">entry./a>->.a href="+code=wait" class="sref">wait./a>, .a href="+code=pollwake" class="sref">pollwake./a>);"4227./a>>
14 4  .a href="+code=entry" class="sref">entry./a>->.a href="+code=wait" class="sref">wait./a>..a href="+code=private" class="sref">private./a>>= .a href="+code=pwq" class="sref">pwq./a>;"4228./a>>
14 4  .a href="+code=add_wait_queue" class="sref">add_wait_queue./a>(.a href="+code=wait_address" class="sref">wait_address./a>, &.a href="+code=entry" class="sref">entry./a>->.a href="+code=wait" class="sref">wait./a>);"4229./a>}"4230./a>"4231./a>int .a href="+code=poll_schedule_timeout" class="sref">poll_schedule_timeout./a>(struct .a href="+code=poll_wqueues" class="sref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>, int .a href="+code=state" class="sref">state./a>,"4232./a>>
14 4  >
14 4    >
14 4  .a href="+code=ktime_t" class="sref">ktime_t./a>>*.a href="+code=expires" class="sref">expires./a>, unsigned long .a href="+code=slack" class="sref">slack./a>)"4233./a>{"4234./a>>
14 4  int .a href="+code=rc" class="sref">rc./a>>= -.a href="+code=EINTR" class="sref">EINTR./a>;"4235./a>"4236./a>>
14 4  .a href="+code=set_current_state" class="sref">set_current_state./a>(.a href="+code=state" class="sref">state./a>);"4237./a>>
14 4  if (!.a href="+code=pwq" class="sref">pwq./a>->.a href="+code=triggered" class="sref">triggered./a>)"4238./a>>
14 4  >
14 4  .a href="+code=rc" class="sref">rc./a>>= .a href="+code=schedule_hrtimeout_range" class="sref">schedule_hrtimeout_range./a>(.a href="+code=expires" class="sref">expires./a>, .a href="+code=slack" class="sref">slack./a>, .a href="+code=HRTIMER_MODE_ABS" class="sref">HRTIMER_MODE_ABS./a>);"4239./a>>
14 4  .a href="+code=__set_current_state" class="sref">__set_current_state./a>(.a href="+code=TASK_RUNNING" class="sref">TASK_RUNNING./a>);"4240./a>"4241./a>>
14 4  .spae class="comment">/*./spae="4242./a>.spae class="comment">         * Prepare for the next iteraalue../spae="4243./a>.spae class="comment">         *./spae="4244./a>.spae class="comment">         * The following set_mb() serves two purposes.  First, it's./spae="4245./a>.spae class="comment">         * the counterpart rmb of the wmb in pollwake() such that data./spae="4246./a>.spae class="comment">         * writte  before wake up is always visible after wake up../spae="4247./a>.spae class="comment">         * Second, the full barrier guarantees that triggered clearing./spae="4248./a>.spae class="comment">         * doesn't pass event check of the next iteraalue.  Note that./spae="4249./a>.spae class="comment">         * this problem doesn't exist for the first iteraalue as./spae="425iona>.spae class="comment">         * add_wait_queue() has full barrier semantics../spae="4251./a>.spae class="comment">         */./spae="4252./a>>
14 4  .a href="+code=set_mb" class="sref">set_mb./a>(.a href="+code=pwq" class="sref">pwq./a>->.a href="+code=triggered" class="sref">triggered./a>, 0);"4253./a>"4254./a>>
14 4  return .a href="+code=rc" class="sref">rc./a>;"4255./a>}"4256./a>.a href="+code=EXPORT_SYMBOL" class="sref">EXPORT_SYMBOL./a>(.a href="+code=poll_schedule_timeout" class="sref">poll_schedule_timeout./a>);"4257./a>"4258./a>.spae class="comment">/**./spae="4259./a>.spae class="comment"> * poll_select_set_timeout - helper funcalue to setup the timeout value./spae="426iona>.spae class="comment"> * @to:         pointer to timespec variable for the final timeout./spae="4261./a>.spae class="comment"> * @sec:        seconds (from user space)./spae="4262./a>.spae class="comment"> * @nsec:       nanoseconds (from user space)./spae="4263./a>.spae class="comment"> *./spae="4264./a>.spae class="comment"> * Note, we do>not use a timespec for the user space value here, That./spae="4265./a>.spae class="comment"> * way we cae use the funcalue for timeval and compat interfaces as well../spae="4266./a>.spae class="comment"> *./spae="426ss="line" namv3.L104">4104./a Returna -emo7VALif (eco/sec: re fot unormalized. Oherewie t0./spae="4126./a>.spae class="comment"> * ./spae="4129./a>>nt .a href="+code=poll_sclect_set_timeout  class="sref">poll_sclect_set_timeout /a>(struct .a href="+code=pimespec  class="sref">trmespec /a>>*.a href="+code=eto class="sref">tro/a>, 0ong .a href="+code=slc  class="sref">tsec/a>, 0ong .a href="+code=snlc  class="sref">tnsec/a>,"4127./a>{"4127./a>>
14 4  struct .a href="+code=pimespec  class="sref">trmespec /a>>*a href="+code=pi" class="sref">ti./a>>= .{.a href="+code=ptv_lc  class="sref">ttv_lc /a>>= .a href="+code=scc  class="sref">tsec/a>, 0.a href="+code=ptv_nlc  class="sref">ttv_nlc /a>>= .a href="+code=snlc  class="sref">tnsec/a>,;"4127./a>"4123./a>>
14 4   f (!.a href="+code=tamespec _al i" class="sref">trmespec _al i"/a>(&.a href="+code=ei" class="sref">ti./a>>)"4124./a>>
14 4  }
14 4  return ..a href="+code=EINTVAL class="sref">EINTVAL/a>;"4125./a>"4126./a>>
14 4  rspae class="comment">/* AOprmeizefor the uzerotimeout value.here,* ./spae="4127./a>>
14 4  if (!.a href="+code=pcc  class="sref">tsec/a>,&& !(a href="+code=snlc  class="sref">tnsec/a>,"{"4127./a>>
14 4  >
14 4  .a href="+code=rto class="sref">tro/a>,>.a href="+code=trv_lc  class="sref">ttv_lc /a>>= .a href="+code=sto class="sref">tro/a>,>.a href="+code=trv_nlc  class="sref">ttv_nlc /a>>= .;"4127./a>>
14 4  .} ele t"4128./a>>
14 4          .a href="+code=ntime_tet_fi" class="sref">ttime_tet_fi"/a>(.a href="+code=pto class="sref">tro/a>,;"4128./a>>
14 4          r.a href="+code=eto class="sref">tro/a>,= .a href="+code=stmespec _dd_wsaf" class="sref">_tmespec _dd_wsaf"/a>(..a href="+code=eto class="sref">tro/a>, 0a href="+code=ei" class="sref">ti./a>>)"4122./a>>
14 4  ."4128./a>>
14 4   eturn 0;"4128./a>}"4128./a>"4128./a>static vnt .a href="+code=poll_sclect_scopy_remaining class="sref">poll_sclect_scopy_remaining/a>(struct .a href="+code=pimespec  class="sref">trmespec /a>>*.a href="+code=eendtimeo class="sref">entdtimeo/a>, 0oid .a href="+code=__pser  class="sref">__sser /a>>*.a href="+code=pw class="sref">po/a>,"4128./a>>
14 4          >
14 4  >
14 4  .4 4  ift .a href="+code=pimeval  class="sref">trmesal /a>, int .a href="+code=setu class="sref">rcet/a>,"4128./a>{"4128./a>>
14 4  struct .a href="+code=pimespec  class="sref">trmespec /a>>*a href="+code=pri" class="sref">trt./a>;"4129./a>>
14 4  struct .a href="+code=pimeval  class="sref">trmesal /a>,*a href="+code=priv class="sref">trtv/a>;"4129./a>"4129./a>>
14 4  if (!.a href="+code=t" class="sref">p./a>)"4129./a>>
14 4          .eturn .a href="+code=rctu class="sref">rcet/a>,"4129./a>"41295/a>>
14 4  if (!a href="+code=rurrent" class="sref">current./a>;>.a href="+code=poersonl it" class="sref">poersonl it"/a>,&&.a href="+code=rSTICKY_IMEROUT" class="sref">HSTICKY_IMEROUT"/a>)"4129./a>>
14 4          igoto.a href="+code=staick" class="sref">ptaick"/a>,"4129./a>"4129./a>>
14 4  .apae class="comment">/* ANo updatefor tzerotimeout v ./spae="4129./a>>
14 4  if (..a href="+code=entdtimeo class="sref">entdtimeo/a>,>.a href="+code=trv_lc  class="sref">ttv_lc /a>>=amp;& !(a href="+code=sntdtimeo class="sref">entdtimeo/a>,>.a href="+code=trv_nlc  class="sref">ttv_nlc /a>>"4230./a>>
14 4          return .a href="+code=pctu class="sref">rcet/a>,"4230./a>"4230./a>>
14 4  .a href="+code=stime_tet_fi" class="sref">ttime_tet_fi"/a>(.amp;.a href="+code=eri" class="sref">trt./a>;)"4230./a>>
14 4  .a href="+code=eri" class="sref">trt./a>;= .a href="+code=stmespec _su" class="sref">stmespec _su"/a>(..a href="+code=eendtimeo class="sref">entdtimeo/a>, 0a href="+code=eri" class="sref">trt./a>;)"42304/a>>
14 4  if (!a href="+code=rri" class="sref">trt./a>;.a href="+code=ptv_lc  class="sref">ttv_lc /a>>=lt; .0"4230./a>>
14 4          .a href="+code=nri" class="sref">trt./a>;.a href="+code=ptv_lc  class="sref">ttv_lc /a>>= .a href="+code=sri" class="sref">trt./a>;.a href="+code=ptv_nlc  class="sref">ttv_nlc /a>>= .;"4230./a>"4230./a>>
14 4  if (!a href="+code=pimeval  class="sref">trmesal /a>,"{"4230./a>>
14 4  >
14 4  .f (!sizeof!a href="+code=rriv class="sref">trtv/a>;)> .sizeof!a href="+code=rriv class="sref">trtv/a>;.a href="+code=ptv_lc  class="sref">ttv_lc /a>>) +.sizeof!a href="+code=rriv class="sref">trtv/a>;.a href="+code=ptv_ulc  class="sref">ttv_ulc /a>>)"4264="line" namv3.L185">4185./aeof!a hre="line" namv3.L167">4167./a>>
14 4       1pa href="+code=rriv class="sref">trtv/s.c#L231" id3.L231tv/s.crt./a>;)"ttv_ul, 0,v/a>;.a href="+code=ptv_ulc  class="sref">ttv_ul)s="line" namv3.L134">42304/a>>
14 43 if (.a href="+code=key"3class31t_fi" class="sref">ttime_tet_fi"/a>(_lc  class="sref">ttv_lc /a>>) +.sizeof!a href="+code=rriv class="sref">.a href="+code=ptv_nlc  class="sref">ttv_nlc /a>>= .;"="line" namv3.L134">42304/a>"ttv_ulc /a>>)"4264=.a href="+code=ptv_nlc  class="sref">ttv_nlc /a>>= .;"="line" namv3.L134">42304/a>>
14 4  return .a href="+code=_3pollw31lass="line" namv3.L123">41233/a>}"rcetntdtimeo/a>,>.a hespectode=pw class="sref">pespectode=pw;"ttv_ul, /a>;.a href="+code=ptv_ulc  class="sref">ttv_ul)sline" namv3.L185">4185./a/a>">>>>>>>>/a>,"4230./a>.spae 3lass="comment">/* Add a 3ew en31lass="line" namv3.L126">41283/a>static3void .a href="+code=__po3lwait31ick" class="s" classntdtimeo/a>,>.a hespectode=pw class="sref">pespectode=pw;"ttv_nl, /a>;.a href="+code=ptv_u.c#L2334 id3.L233" classsline" namv3.L185">4185./a/a>>
14 4          >
14 4  >
14 4 3.a hr3f="+code=poll_table" c/a>,"4230./a>>
14 4 ef="fs/select.c#L219" id3.L21931lass="line" namv3.L209">42093/a>>
14 43 struct .a href="+code=p3ll_wq3eues" class="sselect.c#L242" id3.L242" class="line" namv3.L242">42423/a>>
14 43 struct .a href="+code=p3ll_ta32it_queue() has full barrier semantics.If () applicd3.L25puts its ="42423/a>"41993/a>>
14 43 >
14 4  return;""fs/ss/selet253"lass="line" namv3.L199">41993/a>}"41993/a>"41263/a>>
14 43 .a href="+code=entry" c3ass="32unterpart rmb of the wmb in pollwake(" class="line" namv3.L129">41293/a>>
14 43 .a href="+code=init_wai3queue32lass="line" namv3.L237">4230./a>>
14 43 .a href="+code=entry" c3ass="3ref">ea>,"4230./a>>
14 4  .a href="+code=add_wait3queue3 class="sref">;.a href="+code=ptv_.c#L231" id3.L231" class =/a>;"4230./a>}"p./a>>= .a href="+code=p" cl_.c#L231" id3.L231" class =a>;"42353/a>"4230./a>int .a3href="+code=poll_schedul3_time3ut" cl="line" namv3.L125">41283/a>>
14 43 >
14 4    >
14 4  .a hr3f="+c33lass="line" namv3.L123">41233/a>{"trrrrrrrrrr href="fs/selectfd.c#L2334 id3.L23fd.a>;)f">inline_index./a>++;c#L2334 id3.L23inef">.a href="+code=inlmp;.a href="+codnef">t"line" namv3.L123">41233/a>"#deft.ca href="fs/selecFDS_OUT#L231" id3.L231FDS_OUT;"trrrrrrrrr href="fs/selectfd.c#L2334 id3.L23fd.a>;)f">inline_index./a>+>(struct .a href="s="sref.a href="+code=inlmp;.a href="+codnef">t"line" namv3.L123">41233/a>>
14 43f="fs/select.c#L236" id33L236"3class=#deft.ca href="fs/selecFDS_EX#L231" id3.L231FDS_EX;"trrrrrrrrrr href="fs/selectfd.c#L2334 id3.L23fd.a>;)f">inline_index./a>+="fs/select.c#L16RIES" ca href="+code=inlmp;.a href="+codnef">t"line" namv3.L123">41233/a>>
14 43 .a href="+code=set_curr3nt_st33lass="line" namv3.L237">4230./a>>
14 43 if (!.a href="+code=pwq3 clas3="sref#deft.ca href="fs/selecBIf="fs/select.c#L2BIf=;"trrrrtimeo/a>, 0a hrefFDS_IN#L231" id3.L231FDS_IN;"t|imeo/a>, 0a hrefFDS_OUT#L231" id3.L231FDS_OUT;"t|imeo/a>, 0a hrefFDS_EX#L231" id3.L231FDS_EX;"tt"line" namv3.L123">41233/a>>
14 4  >
14 4  .a href="+code=3c" cl33lass="line" namv3.L209">42093/a>>
14 43 .a href="+code=__set_cu3rent_33lass="sref">__pollwake./a>(.a hmaxcode=pimfref="+code=ei" cmaxcode=pimfr;"slack./a>)"", 0a hreffd.c#L2334 id3.L23fd.a>;)t"line" namv3.L123">41233/a>"41273/a>>
14 43 .spae class="comment">/3./spa3="slack./a>imeo/a>, 0a hrefopen_fd.c#L2334 id3.L23open_fd.lass="line" namv3.L231">4230./a>.spae 3lass="comment">         3 Prep342slack./a>a>,"4230./a>.spae 3lass="comment">         3./spa34l i" class="sr_pollwake./a>(.a hmaxef="+code=ei" cmaxlass="line" namv3.L231">4230./a>"         3 The 34EINTVAL classe./a>>*.a href="+code=fd"+code=p" class="srefd"+codES" cimeo/a>, 0a hreffdc#L231" id3.L231fdclass="line" namv3.L231">4230./a>>
14 43lass="comment">         3 the 34lass="line" namv3.L126">41283/a>.spae 3lass="comment">         3 writ34izefor the uzerotimeout value.here,* .handle outect.-s/selet2ck./a-wordt.c#L25(" class="line" namv3.L129">41293/a>.spae 3lass="comment">         3 Seco34ef">entry./a>->.a href="+/.c#L231" id3.L231s class =a~(~0UL" cla clas href="fs/selectmp;.a href="+codnef">="sref" href="fs/selectBIf=_PER_LO"fs/select.c#L240BIf=_PER_LO"fa>;)f1))s="line" namv3.L134">42304/a>.spae 3lass="comment">         3 does34class="sref">add_wait_queue.mp;.a href="+codnef">=/a href="+code=ptvBIf=_PER_LO"fs/select.c#L240BIf=_PER_LO"fa>;)="line" namv3.L134">42304/a>>
14 43lass="comment">         3 this34ate" class="sref">__set_currfdc#L231" id3.L231fdclass.a href="+code=ptvilp.s_fd"+code=p" class="sreflp.s_fd"+cod;"poersonl it"/a>,&aflp.se=p" class="sreflp.sa>;)t="line" namv3.L134">42304na>.spae 3lass="comment">         3 add_350te" class="sref">__set_curropen_fd.c#L2334 id3.L23open_fd.lass.a href="+code=ptvidc#L231" id3.L231fdclassf">inline_index./a>+>pen_fd.c#L2334 id3.L23open_fd.lass.a href="+code=inlmp;.a href="+codnef">="line" namv3.L134">42304na>>
14 43lass="comment">         3/./sp35sref">smp_wmb./a>();"4230./a>>
14 43 .a href="+code=set_mb" 3lass=35ref">p./a>)"4230./a>"table./a>>= .a href="+co/.c#L231" id3.L231s class "srefa href="+code=ptvBIf="fs/select.c#L2BIf=;"t="line" namv3.L236">4230./a>"a hr->.a href="+/.c#L231" id3.L231s classss="line" namv3.L238">4230./a>>
14 43ef="fs/select.c#L256" id3.L25635ss="sref">trt./a>;.a ="sref">a hr!r->.a href="+/.c#L231" id3.L231s class="sref"~imeo/a>, 0a hrefopen_fd.c#L2334 id3.L23open_fd.lasstt"line" namv3.L123">41233/a>.a hre3="+code=EXPORT_SYMBOL" c3ass="35ick" class="sref">ptaaaaaaaaaaaaaaaaaick"/a>,"="line" namv3.L134">42304na>.spae 3f="fs/select.c#L258" id33L258"35ft .a href="+code=pimeval  clEINTVAL/a>;"="line" namv3.L134">42304na>.spae 3lass="comment">/**./spae3"="line" namv3.L125">41283/a>.spae 3lass="comment"> * poll_s3lect_35120" id3.L120""line" namv3.L125">41283na>.spae 3lass="comment"> * @to:  3     360te" class="swhlp.s href="fs/selectmp;.a href="+codnef">ss="line" namv3.L238">4230./a>.spae 3lass="comment"> * @sec: 3     36elect.c#L212" id3.L21href="+code=ptvopen_fd.c#L2334 id3.L23open_fd.lass--="line" namv3.L134">42304/a>.spae 3lass="comment"> * @nsec:3     36="sref">p./a>->.a href="+code=tabmp;.a href="+codnef">--="line" namv3.L134">42304/a>" *./spae=3table./a>>= .a href="+co/.c#L231" id3.L231s class a href="+code=ptvBIf="fs/select.c#L2BIf=;"t="line" namv3.L236">4230./a>.spae 3lass="comment"> * Note, 3e do>36EINTVAL class="sref">a hrmp;& !(a href=c#L231" id3.L231s classs"line" namv3.L236">4230./a>>
14 43lass="comment"> * way we3cae u36ss="sref">trt./a>;.a ="sref">ef">inue="line" namv3.L236">4230./a>.a hre3lass="comment"> *./spae=3ptaa hr->.a href="+/.c#L231" id3.L231s class="sref"~imeo/a>, 0a hrefopen_fd.c#L2334 id3.L23open_fd.lasst"line" namv3.L236">4230./a>.spae 3mv3.L104">4104./a Return3 -emo36ft .a href="+code=pimeval  clEINTVAL/a>;"="line" namv3.L134">42304/a>.spae 3lass="comment"> * ./spae3"trtv./a>();"4230./a>.spae 3href="+code=poll_sclect_3et_ti364       1pa href="+code=rriv ef">inue="line" namv3.L236">4230./a>{",":"line" namv3.L237">4230./a>>
14 43 struct .a href="+code=p3mespe37elect.c#L212" id3.L21dos="line" namv3.L238">4230./a>"ktime./a>();"4230./a>"table./a>f">ktime./a>();"inass="line" namv3.L193">41933/a>>
14 43 }
14 4  return ..a href3"+cod3=EINTVAL class="sref">}swhlp.s href="fs/selectf=c#L231" id3.L231s classs="line" namv3.L193">41933/a>>
14 43f="fs/select.c#L126" id33L126"37ss="sref">trt./a>;.a href="+code=ptvmaxef="+code=ei" cmaxlassl+,;"=* href="+code=ptvBIf=_PER_LO"fs/select.c#L240BIf=_PER_LO"fa>;)="line" namv3.L134">42304/a>>
14 43 rspae class="comment">/3 AOpr3eizefor the uz""line" namv3.L125">41283/a>>
14 43 if (!.a href="+code=pcc3 clas37lass="line" namv3.L128">41293/a>>
14 43 >
14 4  .a href="+code=3to cl3ss="sref">tro//a>,"4230./a>>
14 43 .} ele t"42303/a>>
14 43         .a href="+code=3time_38lass="line" namv3.L241">42413/a>>
14 43         r.a href="+code3eto c3ass="s#deft.ca href="fs/selecPOLLIN_SET#L231" id3.L231POLLIN_SET="sre href="fs/selectPOLLRDNORM#L231" id3.L231POLLRDNORM="sre|a href="fs/selecPOLLRDBAND#L231" id3.L231POLLRDBAND="sre|a href="fs/selecPOLLIN#L231" id3.L231POLLIN="sre|a href="fs/selecPOLLHUP#L231" id3.L231POLLHUP="sre|a href="fs/selecPOLLERt.c#L235" id3.L2POLLERtlasst"line" namv3.L236">4230./a>>
14 43 ."4230./a>"4230./a>>
14 43ef="fs/select.c#L125" id3.L12538lass="line" namv3.L125">41293/a>"pohref="fs/selectint.c#L1231" id3.L231int.c#="sreser /a>>*.a href="+cae="p./a>)"mode./a>, k./a>a>,"="line" namv3.L127">41283/a>static3vnt .a href="+code=poll_3clect38ick" class="sref">ptaaaaaaaaaaaaaaaaaode./a>, k./a>a>,"4230./a>>
14 43         >
14 4  >
14 4 3.4 4 3ift .a="line" namv3.L238">4230./a>{"add_wait_queue.f="+code=mode" class="sref"/a>;"4230./a>>
14 43 struct .a href="+code=p3mespe38lass="sref">entdta>,"="sref">HSTICKY_IMEROUb"+code=mode" clasbiclasss"line" namv3.L236">4230./a>>
14 43 struct .a href="+code=p3meval39t_fi" class="sref">ttime_tet_fi"/a>(f="+code=mode" class="sref"/a>;"4230./a>"entry./aa>,"HSTICKY_IMEROUb"+code=mode" clasbiclasss"line" namv3.L236">4230./a>>
14 43 if (!.a href="+code=t" 3lass=39="sref">p./a>->.a href="+code=tabf="+code=mode" class="sref"/a>;"4230./a>"42143/a>"41293/a>>
14 43 if (!a href="+code=rurr3nt" c3ass="sr_pollwake./a>(.a hdocode=pi#L231" id3.L231docode=pi;"(.a hmp;.a href="+codnef">", 0a hreffd.c#L2334 id3.L23fd.a>;)"sref">poll_wqueues./a>,="+code=eendtimeo class="sref">entdtimeo/a>, 0oid .a href="+code=__pser  class="sref">_s"line" namv3.L236">4230./a>static3         igoto.a href="+3ode=s3aick" ="line" namv3.L238">4230./a>"entry./a>->.a href="++code=expires" class="sref">expiremeo/a>, 0oid .a f">slcode=__pser  claf">sla>;)"simeo/a>, 0oid .aespec _dd_wsaf" class="sref">_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">4230./a>{"/3 ANo 3pdatefor tzeroref">poll_wqueues./a>>*.a href="+code=pwq" class="sref">pwq./a>, imeo/a>, 0oid .ae+code=p" class="sre/a>)"4230./a>>
14 43 if (..a href="+code=ent3timeo39ate" class="sref">__set_currhref="+code=p" class="sref">p./a>)"42304/a>>
14 44         return .a href=4+code4pctu class="sr,"""(struct .a href="ref"d_>(sss="sres="line" namv3.L236">42304/a>"slack./a>href="fs/selectf=HRTIMER_MODE_ABS" class="srsres="line" namv3.L236">42304/2>"41234/a>>
14 44 .a href="+code=eri" cla4s="sr4f">trt./a>;= .a href="+code=stcu_/aad_loRTIMER_MODE_ABS" tcu_/aad_loRT;"41934/a>>
14 44 if (!a href="+code=rri"4class4"sref">trt./a> href="fs/select.c/select.c#L138" idt.c/seef">sref">_tmespec _ddmaxcode=pimfref="+code=ei" cmaxcode=pimfr;"(.a hmp;.a href="+codnef">"41934/5>>
14 44 if (!a href="+code=rurr4ri" c4ass="sref">trta href="+code=stcu_/aad_unloRTIMER_MODE_ABS" tcu_/aad_unloRT;"41934/6>>
14 44         igoto.a href="+4L237"4class="line" namv3.L237">42304/a>>
14 44 if (!a href="+code=pime4al  c4ass="sref">trmesal /a>,"{"s class="line" namv3.L135">42304/a>>
14 44 >
14 4  .f (!sizeof!a h4ef="+4ode=rriv class="sref">/a>,"="line" namv3.L193">41934/9>>
14 44 if (..a href="+code=ent4a>>
140ate" class="sref">__set_currlp;.a href="+codnef">=a href="+code=ptv_.c/select.c#L138" idt.c/seef">="line" namv3.L193">41934/a>>
14 44 if (.a href="+code=key"4class41lass="line" namv3.L241">42414/a>"smp_wmb./a>();"p.+codf="+code=mode" clasf">p.+codf="+;"41934/a>>
14 44 return .a href="+code=_4pollw41ass="sref">ttime_tet_fi"/a>(f="+code=mode" class="sref"=a )">= .a href="+code=mode" clasfsref"="line" namv3.L231">42304/a>}"_"sref">entdtimeo/a>,>.a href="+code=trv_nlc  class="sref">ttv_nlc /a>>"entdtimeo/a>,>.a href="+code=trv_nlc  class="sref">ttv_nlc /a>>"42304/a>"href="+code=tabf="+code=mode" class="sref"/a>;"_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">42304/a>.spae 4lass="comment">/* Add a 4ew en41ss="sref">trt./a>;.a href="+code=ptvref"d_>(struct .a href="ref"d_>(sss="sres="line" namv3.L193">41934/a>static4void .a href="+code=__po4lwait41izefor the uz""line" namv3.L125">41284/a>>
14 44         >
14 4  >
14 4 4.a hr41lass="line" namv3.L128">41294/a>>
14 44ef="fs/select.c#L219" id4.L21941class="sref">;.a href="+code=ptv href="+code=__pser  class="sref">_"sref">entdtimeo/a>,>.a href"d_>(struct .a href="ref"d_>(sss="="line" namv3.L135">42304/a>>
14 44 struct .a href="+code=p4ll_wq41="sref">p./a>>= .a href="+code=p" clf=HRTIMER_MODE_ABS" class="srsrehref="fs/selectf=e=pimesrefate_accuracct.c#L220" id3.L1=e=pimesrefate_accuracc;"(.a h href="+code=__pser  class="sref">_s="line" namv3.L193">41934/a>>
14 44 struct .a href="+code=p4ll_ta42lass="line" namv3.L241">42414/a>"smp_wmb./a>();"sres="line" namv3.L236">42304/a>>
14 44 >
14 4  return;"ttt.c#(;;=s="line" namv3.L238">42304/a>}"table./a>ref">slack./a>imeo/a>, 0a hrefrin=poll_wqueues" crin=a>;)"simeo/a>, 0oid .ar>(s=poll_wqueues" cr>(s=a>;)"simeo/a>, 0oid .arex=poll_wqueues" crex=a>;)"simeo/a>, 0oid .ain=poll_wqueues" cin=a>;)"simeo/a>, 0oid .a>(s=poll_wqueues" c>(s=a>;)"simeo/a>, 0oid .aex=poll_wqueues" cex=a>;)="line" namv3.L236">42304/a>"41294/a>>
14 44 .a href="+code=entry" c4ass="42ss="sref">trt./a>;.a href="+code=ptvin=poll_wqueues" cin=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>++;c#L2334 id3.L23inef">f">HSTICKY_IMEROU>(s=poll_wqueues" c>(s=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>+>(struct .a href="s="sreff">HSTICKY_IMEROUex=poll_wqueues" cex=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>+="fs/select.c#L16RIES" ="line" namv3.L236">42304/a>static4 .a href="+code=init_wai4queue42ick" class="sref">ptameo/a>, 0a hrefrin=poll_wqueues" crin=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>+res_+;c#L2334 id3.L23res_+;sreff">HSTICKY_IMEROUr>(s=poll_wqueues" cr>(s=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>+res_>(struct .a href="res_>(ssreff">HSTICKY_IMEROUrex=poll_wqueues" crex=a>;).a href="+code=ptvid.c#L2334 id3.L23fd.a>;)f">inline_index./a>+res_="fs/select.c#L16res_="ES" ="line" namv3.L236">42304/a>>
14 44 .a href="+code=entry" c4ass="42lass="line" namv3.L128">41294/a>>
14 44 .a href="+code=add_wait4queue42de=rriv class="sref">t.c#(a href="fs/seleic#L2334 id3.L23ief">sres=s clasref">__set_currlp;.a href="+codnef">; ++meo/a>, 0a hrefrin=poll_wqueues" crin=a>;)"s++meo/a>, 0a hrefr>(s=poll_wqueues" cr>(s=a>;)"s++meo/a>, 0a hrefrex=poll_wqueues" crex=a>;)=s="line" namv3.L238">42304/a>>
14 44ef="fs/select.c#L230" id4.L23042="sref">p./a>>= .a hrable./a>ref">slack./a>line_index./a>++;c#L2334 id3.L23inef">"mline_index./a>+a>p.biu.c#L2334 id3.L23a>p.biu.ES" >mline_index./a>+b"+code=mode" clasbiclasssres>mline_index./a>+masTIMER_MODE_ABS" masTES" >mline_index./a>+jIMER_MODE_ABS" jES" ="line" namv3.L236">42304/a>"ttable./a>ref">slack./a>line_index./a>+res_+;c#L2334 id3.L23res_+;srefsres"(ssrefsres"42304/a>int .a4href="+code=poll_schedul4_time43lass="line" namv3.L232">42304/a>>
14 44 >
14 4    >
14 4  .a hr4f="+c43e=ktime_t" class="sref">ktime./a>();"==simeo/a>, 0oid .ain=poll_wqueues" cin=a>;)++f">HSTICKY_IMEROU>(struct .a href="s="sref==simeo/a>, 0oid .a>(s=poll_wqueues" c>(s=a>;)++f">HSTICKY_IMEROU="fs/select.c#L16RIES" c=simeo/a>, 0oid .aex=poll_wqueues" cex=a>;)++="line" namv3.L236">42304/a>{"table./a>f">ktime./a>();"p.biu.c#L2334 id3.L23a>p.biu.ES" .a href="+code=ptv+;c#L2334 id3.L23inef">=|a href="fs/selec>(struct .a href="s="sref=|a href="fs/selec="fs/select.c#L16RIES" ="line" namv3.L236">42304/a>">>>>>>>>;.a href="+code=ptva>p.biu.c#L2334 id3.L23a>p.biu.ES" .ares=s="line" namv3.L238">42304/a>>
14 44f="fs/select.c#L236" id34L236"43ss="sref">trt./a>;.a ="sref">f">ktime./a>();"s+,;";)="line" namv3.L134">42304/a>>
14 44 .a href="+code=set_curr4nt_st43ick" class="sref">ptaaaaaaaaaaaaaaaaaef">inue="line" namv3.L236">42304/a>>
14 44 if (!.a href="+code=pwq4 clas43ft .a href="+code=pimeval  cl""line" namv3.L125">41284/a>>
14 44 >
14 4  .a href="+code=4c" cl43lass="line" namv3.L209">42094/a>>
14 44 .a href="+code=__set_cu4rent_43="sref">p./a>>= .a hrable./a>t.c#(a href="fs/selejIMER_MODE_ABS" jES" sres=__set_currBIf=_PER_LO"fs/select.c#L240BIf=_PER_LO"fa>;)=s++meo/a>, 0a hrefjIMER_MODE_ABS" jES" "s++meo/a>, 0a hrefic#L2334 id3.L23ief">"42304/a>"ttable./a>>>>>>>>>e./a>>*.a href="+code=fdc#L2334 id3.L23fd_fi" .a href="+code=fc#L2334 id3.L23fa>;)="line" namv3.L134">42304/a>>
14 44 .spae class="comment">/4./spa44elect.c#L212" id3.L211111111111111111ntdta>,"s f3"+cref">__set_currlp;.a href="+codnef">="="line" namv3.L135">423spae 3las4lass="comment">         4 Prep44e=ktime_t" class="sref">ktimeeeeeeeeeeeeeeeeebreak="line" namv3.L134">42304/a>{"         4./spa44lass="sref">table./a>f">ktime11111111ntdt!r->.a href="+b"+code=mode" clasbiclasss sref">HSTICKY_IMEROUa>p.biu.c#L2334 id3.L23a>p.biu.ES" tt"line" namv3.L123">41234/a>"         4 The 44EINTVAL class="sref">>>>>>>>>>>>>>>>>>>>>>>>>ef">inue="line" namv3.L236">42304/a>>
14 44lass="comment">         4 the 44ss="sref">trt./a>;.a ="sref">f">ktime./a>();";).a href="+code=ptvidg=c#L231" id3.L231idg=c;"(.a h+c#L2334 id3.L23ief">s="line" namv3.L193">41934/a>.spae 4lass="comment">         4 writ44ick" class="sref">ptaaaaaaaaaaaaaaaaantdta>,"42304/a>>
14 44lass="comment">         4 Seco44ft .a href="+code=pimeval  class="sref">trm>>ef"st>e./a>>*.a href="+code=fi)"_operd3.L2se=p" class="sreflp._operd3.L2st .a imeo/a>, 0a hreff_ope=p" class="sref_opa>;)="line" namv3.L134">42304/a>>
14 44lass="comment">         4 does44de=rriv class="sref">./a>;.a ="sref">f">ktime./a>();";)e./a>>= .a href=flp.c#L2334 id3.L23fi)"poersonl it"/a>,&af_ope=p" class="sref_opa>;)="line" namv3.L134">42304/a>>
14 44lass="comment">         4 this44="sref">p./a>>= .a hrable./a>="sref">f">ktime./a>();";)="line" namv3.L134">42304na>.spae 4lass="comment">         4 add_45t_fi" class="sref">ttable./a>>>>>>>>>>>>>>>>>ntdta>,"entdta>,"poersonl it"/a>,&amolelect.c#L138" idmole42304na>>
14 44lass="comment">         4/./sp45elect.c#L212" id3.L211111111111111111="sref">f">ktime./a>();"mline_index./a>++;c#L2334 id3.L23inef">"42304npae 3las4 .a href="+code=set_mb" 4lass=45e=ktime_t" class="sref">ktimeeeeeeeeeeeeeeeeef">ktime./a>();", 0a hreff_ope=p" class="sref_opa>;)">poersonl it"/a>,&amolelect.c#L138" idmole,"mline_index./a>+f="+code=mode" class="sref"s="line" namv3.L134">42304na>{"table./a>>>>>>>>>>>>>>>>>>>>>>>>>""line" namv3.L125">41284/a>"eeeeeeeeeeeeeeeef">ktime./a>();"42304na>>
14 44ef="fs/select.c#L256" id4.L25645ss="sref">trt./a>;.a ="sref">>>>>>>>>>>>>>>>>ntdtv./a>();"entdta>,"entdtta>,"="sref">HSTICKY_IMEROUb"+code=mode" clasbiclasssss="line" namv3.L238">42304na>.spae 4="+code=EXPORT_SYMBOL" c4ass="45ick" class="sref">ptaaaaaaaaaaaaaaaaaeeeeeeeef">ktime./a>();"42304na>>
14 44f="fs/select.c#L258" id34L258"45ft .a href="+code=pimeval  claaaaaaaaeeeeeeeef">ktime./a>();"++="line" namv3.L236">42304na>.spae 4lass="comment">/**./spae4"eval  claaaaaaaaeeeeeeeef">ktime./a>();";"_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">42304/a>.spae 4lass="comment"> * poll_s4lect_45="sref">p./a>>= .a hrable./a>="sref">f">ktime""line" namv3.L125">41284na>.spae 4lass="comment"> * @to:  4     46t_fi" class="sref">ttable./a>>>>>>>>>>>>>>>>>ntdtv./a>();"entdta>,"entdtta>,"HSTICKY_IMEROUb"+code=mode" clasbiclasssss="line" namv3.L238">42304/a>.spae 4lass="comment"> * @sec: 4     46elect.c#L212" id3.L21eval  claaaaaaaaeeeeeeeef">ktime./a>();"(struct .a href="res_>(ssrefs|a href="+code=ptvb"+code=mode" clasbiclass="line" namv3.L134">42304/a>.spae 4lass="comment"> * @nsec:4     46="sref">p./a>->.a eval  claaaaaaaaeeeeeeeef">ktime./a>();"++="line" namv3.L236">42304/a>" *./spae=4table./a>eval  claaaaaaaaeeeeeeeef">ktime./a>();";"_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">42304/a>.spae 4lass="comment"> * Note, 4e do>46EINTVAL class="sref">>>>>>>>>>>>>>>>>>>>>>>>>""line" namv3.L125">41284na>>
14 44lass="comment"> * way we4cae u46ss="sref">trt./a>;.a ="sref">>>>>>>>>>>>>>>>>ntdtv./a>();"entdta>,"entdtta>,"HSTICKY_IMEROUb"+code=mode" clasbiclasssss="line" namv3.L238">42304/a>.spae 4lass="comment"> *./spae=4ptaeval  claaaaaaaaeeeeeeeef">ktime./a>();"42304/a>>
14 44mv3.L104">4104./a Return4 -emo46ft .a href="+code=pimeval  claaaaaaaaeeeeeeeef">ktime./a>();"++="line" namv3.L236">42304/a>.spae 4lass="comment"> * ./spae4"eval  claaaaaaaaeeeeeeeef">ktime./a>();";"_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">42304/a>.spae 4href="+code=poll_sclect_4et_ti464       1pa href="+code=rriv                 ""line" namv3.L125">41284/a>{"ttable./a>>>>>>>>>""line" namv3.L125">41284/a>.spae 4 struct .a href="+code=p4mespe47elect.c#L212" id3.L21>>>>>>>>""line" namv3.L125">41284/a>.spae 4f="fs/select.c#L123" id34L123"47e=ktime_t" class="sref">ktimeesal /a>,"{"41234/a>"table./a>f">ktimeeeeeeeeeimeo/a>, 0a hrefrin=poll_wqueues" crin=a>;)=a href="+code=ptv_.s_+;c#L2334 id3.L23res_+;sreff"line" namv3.L123">41234/a>.spae 4 }
14 4  return ..a href4"+cod4=EINTVAL class="sref">f">ktimeesal /a>,"{"(struct .a href="res_>(ssreft"line" namv3.L123">41234/a>>
14 44f="fs/select.c#L126" id34L126"47ss="sref">trt./a>;.a f">ktimeeeeeeeeeimeo/a>, 0a hrefr>(s=poll_wqueues" cr>(s=a>;).a href="+code=ptvres_>(struct .a href="res_>(ssreff"line" namv3.L123">41234/a>.spae 4 rspae class="comment">/4 AOpr47ick" class="sref">ptaeval  clesal /a>,"{"41234/a>>
14 44 if (!.a href="+code=pcc4 clas47ft .a href="+code=pimeval  claaaaaaaaimeo/a>, 0oid .arex=poll_wqueues" crex=a>;).a href="+code=ptvres_="fs/select.c#L16res_="ES" ="line" namv3.L236">42304/a>>
14 44 >
14 4  .a href="+code=4to cl47de=rriv class="sref">eval  clhref="+code=ptvcond_reschedc#L2334 id3.L23cond_resched;"42304/a>>
14 44 .} ele t"41284/a>>
14 44         .a href="+code=4time_48t_fi" class="sref">ttime_tet_fi"/a>(f="+code=mode" class="sref"/a>;"_tmespec _ddNULct.c#L255" id3.LNULc="sr="line" namv3.L231">42304/a>>
14 44         r.a href="+code4eto c48elect.c#L212" id3.L21esal /a>,"{"s||a href="fs/selecref"d_>(struct .a href="ref"d_>(sss="s||a href="fs/selecf">sal_pendingtruct .a href="f">sal_pending;"41234/a>>
14 44 ."ktimebreak="line" namv3.L134">42304/a>"rcetntdt href="fs/selecr+code=p" class="sre/a>)">= .a href=errow class="sref">perrow42304/a>>
14 44ef="fs/select.c#L125" id4.L12548EINTVAL class="sref">f">ktime /a>,"{"sref">_tmespec _ddr+code=p" class="sre/a>)">= .a href=errow class="sref">perrow42304/a>>
14 44f="fs/select.c#L126" id34L126"48ss="sref">trt./a>;.a f">ktimebreak="line" namv3.L134">42304/a>.spae 4vnt .a href="+code=poll_4clect48ick" class="sref">pta""line" namv3.L125">41284/a>>
14 44         >
14 4  >
14 4 4.4 4 48lass="line" namv3.L128">41294/a>{"select.c#L242" id3.L242" class="line" namv3.L242">42424/a>>
14 44 struct .a href="+code=p4mespe48lass=part rmb of the wmb in pollwakeeeeeeeees.If this is e#L2.c#L25loop andpat havThatref">(ssslass="line" namv3.L242">42424/a>>
14 44 struct .a href="+code=p4meval49it_queue() has full barrier semanticeeeeeeees.given, e#Lnpat ionveta.eo sref">e andpsea.e#L29" class="line" namv3.L199">41994/a>"sy /seue" class="line" namv3.L128">41264/a>>
14 44 if (!.a href="+code=t" 4lass=49e for the next iteraalue../spae="41294/a>"rcetntdt href="fs/selec href="+code=__pser  class="sref">_"sref">entdtimeo/a>,>.a hrspec _dd_wsaf" class="ss="line" namv3.L238">42304/a>"f">ktime /a>,"{"slcode=__pser  claf">sla>;)sref">_tmespec _ddr"sref">ctodkf="+code=__pser  clr"sref">ctodkf="+;", 0oid .a href="+code=__pser  class="sref">_s="line" namv3.L134">42304/a>>
14 44 if (!a href="+code=rurr4nt" cL134">4234ref">tt4ext iteraalue../spae="<7f="fs>(struct .a href="s="sref="sre>, 0oid .a href="+code=__p/a>;.a f"ss="sref">_s"line" namv34L236"492304/a>.spae 4vnt .a href="+code=poll_4clect48 href="+34de=s3aick" ="line" namv34L238"491284/a>>
14 44         >
14 4c#L255" i43.LNULc="sr="line" namv34L231"492304/a>.spae 3lass="commehref="+code=__pswmb./f="+cule_eeees.I=p" class="sref_opa/f="+cule_eeees.Iref">time_tet_fi"/a>(f="+code=mode" class="sref"=a )"<>;)e./a>>= .a hreTASK_INTERRUPTIBLEmode" class="srTASK_INTERRUPTIBLE )"<>a>>
14 44         >
14 4c242" id3.re/a>)".spae 4href="+code=poll_sclect_4et_ti4="+code=rurr4nt" cL134">4234ref">tt4ext i>;)e./a>>= .a hresp4ll_wq41="sref">p./a>>= .a ef="fs/selectf="+code=poe5de=mode" 5lass="sref"="line" namv35L231"501284/a>{"s||a href="code=ptvref"d_>(struct .a h5ef="ref"d5>(sss="sres="line" namv35L236"542304/a>"">
14 44 .a href="+cod_opa/freer4f="fs41sref">smp_wmb./freer4f=ref">time_tet_fi"/a>(f="+code=mode" class="sref"=a )", 0oid .a href="+code=_5" tcu_/aa5_loRT;"">
14 4  .f (!sizeof!a h4ef="+4ode=rriv class="sref">/a>,">
14 44         >
14 5" idt.c/s5ef">s class="line" namv35L135"542304/select.c#L219" id4.L12948de=rriv class="sref">select.c5.c#L138" 5dt.c/seef">="line" namv35L193"502424/a>>
14 44 struct .a hre* Ws f
14actually4  .f (!ERESTARTSYS instead of " cla, but I'd8de=rriv class="sref">select.c5.c#L138" 5dt.c/seef">="line" namv35L193"512424/a>>
14 44 struct .a hre* liks.gi bs f baainss=parleads.gi no pro"=ams. So I4  .f (8de=rriv class="sref">select.c5.f="ref"d5class41lass="line" namv35L241"511994/a>">
14 44 if (!.a href=48de=rriv class="sref">select.c5code=mode5 clasfsref"="line" namv35L231"542304/a>"530" id3.L530" class=s="line" namv35L238"542304/a>""(sss="sres="line" namv35L193"541934/4         return .acore_sys_"+code=rurr3nt" c3asscore_sys_"+coderef">/a>(.a hdocode=pi#L231" id3.L231docode=pi;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid .arex=poll_wqueues" crex=a>;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid . .ain=poll_wqueues" cin=a>;)he next iteraalue../spa5e7u_/aad_5efor the uz""line" namv35L125"511234/a>>
14 44 if (!.a href="+co"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid .EROU="fs/select.c#L16RIESES" cimeo/a>, 0a hreffd.c#L2334 id3.L23fd.a>;)"sref">poll_wqueues./a>,="+code=eendtimeo class="sref">entdtimeo/a>, 0oid .a href="+code=5  >
14 4 5.a hr41lass="line" namv35L128"541294/entdtimeo/a>,>.a hrsp5a href="r5f"d_>(sss="="line" namv35L135"512304/a>>
14 43lass="comment"> _(.a hmp;.a href="+codnef">" ex=poll_wqueues" crex=a href="fs/select.c/selec5pser  cla5s="sref">_s="line" namv35L193"521284/a>{""ex=a>;" ex=poll_wqueues"sref> e="fs href="fs/select.c/selec5pclass="s5/seef">sres="line" namv35L236"52230./a>.spae 3lass="co4         return .asizimeo class="srefsizi="fs href="fs/select.c/selec5pode=mode5ttt.c#(;;=s="line" namv35L238"542304/a>}"         3 The 34EINTVAL classe./a>>*.a href="+code=fd"+code=p" class="srefd"+codES" cimeo/a>, 0a hreffdc5oll_wqueu5s" cex=a>;)="line" namv35L236"521934/a>>
14 44lass="comment">         Alrocate small argu    sroneees.stack gi skeeememoryticeebs faseerc*9e for the next iteraalue../spa5=entry" c5ass="42lass="line" namv35L125"541294/a>>
14 4lect.c#L132" id34L232tackf> ex=poll_wqueues"2tackf> e294/[c#L132" id34L23SELECT_STACK_ALLOCx=poll_wqueues"SELECT_STACK_ALLOC294//siziof(lect)]ES" cimeo/a>, 0a hreffdc5of="ref"d5c#L16RIES" ="line" namv35L236"521934/6>>
14 44         igoto5elect.c#L56res_="ES" ="line" namv35L236"52230./a>"ex=a"corn3 -emo36ft .a hINVAct.c#L230" id3.ehINVAc+codES" cimeo/a>, 0a hreffdc5o >
14 4 5ass="42lass="line" namv35L128"521294/a>>
14 44ef="fs/select.c#L2L231s class =a~(~0UL" ca>,"{";)=s="line" namv35L238"542304/a>>
14 44ef="fs/c3ass="35ick" class= ci_no" id3.L231s class="ci_no" i+codES" cimeo/a>, 0a hreffdc5jIMER_MOD5_ABS" jES" ="line" namv35L236"531934/a>>
14 44 struct .a hre5t.c#L16re5_="ES" sres="line" namv35L236"531934/a>>
14 44lass="comment">         sref> e f
14inc126se, si grab iaroncs.gi aref="racs.*9e for the next iteraalue../spa5l_schedul5_time43lass="line" namv35L232"531934/a>>
14 44 return .a hree=eri" cla4s="sr4f">trt./a>;= .a href="+code=stcu_/aad_loRTIMER_MODE_AB5l_wqueues5 cex=a>;)++="line" namv35L236"531234/a>>
14 44 .a href="+codcode=p" class="srefd"+codtime./a>();"sal_pendingtruct .a href="f">sal_pending;";)e./a>>= .a href=fl"sree 34EINTVAL clas"sre )", 0oid .a href="+code=_5fs/select5c#L16RIES" ="line" namv35L236"542304/a>" ex=poll_wqueues"sref> e="fs">f">ktime./a>();";)e./a>>= .a href=fsref> ex=poll_wqueues"sref> e="fs href="fs/select.c/selec523a>p.biu5ES" .ares=s="line" namv35L238"542304/a>>
14 44 return .a hree=eri" clr4ri" c4ass="sref">trta href="+code=stcu_/aad_unloRTIMER_MODE_ABS"5L240BIf=_5ER_LO"fa>;)="line" namv35L134"542304/a>>
14 44ef="fs/select.c#L2L231s class =a~(~0UL" cg sres= e="fs"inue="line" namv35L236"542304/a>>
14 44 if (!."fs/select.c#L2L231s class =a~(~0UL" href="fs/select.c/sel> ex=poll_wqueues"sref> e="fs href="fs/select.c/selec52 >
14 4 5pimeval  cl""line" namv35L125"541284/a>>
14 44 >
14 4  .a hr5f="+code=5c" cl43lass="line" namv35L209"542094/a>>
14 4select.c#L219" id4.L12948de=rriv class="sref">select.c5biclasss 5la clares=s="line" namv35L238"542424/a>>
14 44 struct .a href="+code* Ws ne"co6 hremaps (in/"ci/ex =__sboth4incoming!icee"cigoing),8de=rriv class="sref">select.c5b.c#L16re5d3.L23fa>;)="line" namv35L134"541994/a>" eet.we ne"cogi alrocate memorytin 3li srof8de=rriv class="sref">select.c5b_schedul5="+codnef">="="line" nam53.L13541264/a>>
14 44 if (!.a href="+code=t*4lect-words. 8de=rriv class="sref">select.c5b_wqueues5eeeeeebreak="line" namv35L134"542304/a>""sal_pendingtrulectfd.c#L2334 id3.L23fd.a>;)"inue="line" namv35L236"542304/a>>
14 44 return .a hrehmp;.a href="+codnehref="fshref="+code=p" clf=tackf> ex=poll_wqueues"2tackf> e294/fd.a>;)"s="line" namv35L193"542304/a>>
14 44ef="fs/select.c#L2sizimeo class="srefsizi="fs cg srsiziof(f="+code=p" clf=tackf> ex=poll_wqueues"2tackf> e294/) / 6">entdtimeo/a>,>.a hrsp5334 id3.L53fi)">
14 44lass="c4lass="comment">         Not enough lascs.in on-stack array; muhe use kmalroct*9e for the next iteraalue../spa5  >
14 4 5sref_opa>;)="line" namv35L134"542304/a>>
14 44lass="c3f="fs/select.c hrrriv class="sref">ex=a"corn3 -emo36ft .a hNOME.L231POLLWRBAND=hNOME.294/fd.a>;)";)="line" namv35L134"542304/a>>
14 44lass="c4 return .a hrehmp;.a href="+codnehref="fshref="+code=p" clfkmalroc.a href="+codnekmalroclecf"6axlassl+,;";";)".spae 4lass="commehref="+code=__pshmp;.a href="+codnehref="fs">
14 44lass="comment">c3ass="35ick" class= ci_no" id3.L231s class="ci_no" i+codES" cimeo/a>, 0a hreffdc5de=mode" 5lasbiclasss="line" namv35L134"542304npae 3lashref="+code=poll_4clect45e=mode" c5ass="sref"s="line" namv35L134"551234/a>>
14 44 .a href="+codcoex=poll_wqueues" crex=aref">_tmespec _d231POLLIN_SET="sr).sref""""""a>();">>>>>>>>5>>>>>>>>>>>""line" namv35L125"552304/a>"_tmespec _d31POLLOUT_SET="sr).sref">e""""a>();">
14 44 return .a hrecoex=poll_wqueues" crex=aref">_tmespec _d231POLLEX_SET="sr).sref"e""""a>();".spae 4 return .a hrecoex=poll_wqueues" crex=aref">_tmespec _daaaaaaaaaaaaaaaeeeeeeeef">ktime."a>();""_tmespec _daaaa334 id3.L23res_+;srefsres"++="line" namv35L236"55230./a>{"_tmespec _daaaa claaaaaaaaeeeeeeeef">ktime.hre();"f">ktime""line" namv35L125"541284na>.spae 6ss="sref">trt./a>;. hrrriv class="sref">ex=a"cosref">trt./a>;.geespe>(.a31" id3.L231docgeespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2";"_tmespec _d231POLLIN_SET="sr).sref)) ||href="fs/select.c/selec5ec#L138" 5sbiclasssss="line" namv35L238"542304/a>.spae 4las"sref">trt./a>;. hrrriv class="sref">ex=a"cosref">trt./a>;.geespe>(.a31" id3.L231docgeespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2";)""_tmespec _d31POLLOUT_SET="sr).sref">)) ||href="fs/select.c/selec5ee=mode" 5clasbiclass="line" namv35L134"542304/a>.spae 4las"sref">trt./a>;. hrrriv class="sref">ex=a"cosref">trt./a>;.geespe>(.a31" id3.L231docgeespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2"_tmespec _d231POLLEX_SET="sr).sref)ef="fs/selectf="+code=poe5#L138" id5.c/seef">++="line" namv35L236"542304/a>" href="fs/select.c/selec5c#L255" i53.LNULc="sr="line" namv35L231"562304/a>"(.a31" id3.L231doczerospe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2"_tmespec _daaaaaaaaaaaaaaaeeeeeeeef">ktime3fd.a>;)">
14 44 return .a hrezerospe>(.a31" id3.L231doczerospe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2"_tmespec _daaaaL class="sref">f">ktimeesal /afd.a>;)".spae 4 return .a hrezerospe>(.a31" id3.L231doczerospe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2"_tmespec _daaaalass="sref">ptaeval  clesal fd.a>;)">
14 44         >
14 5#L138" id5.c/seef">++="line" namv35L236"56230./a>{"ex=a"cosref">trt./a>;.ef="+code=rurr3nt" c3ass="sr_pollwake.>sal_pendingtrulectfd.c#L2334 id3.L2"(f="+#L2334 id3.L23fdpec  biu.ESef">_tmespec _d2ser  clr"sref">ctodkf="+;", 0oid .a href="+code=_5c#L255" i53.LNULc="sr="line" namv35L231"562304/href="fs/select.c/selec5rriv     5           ""line" namv35L125"571284na>.spae 6ss=3ef="fs/select. hrrriv class="sref">ex=a"ca>,"{"ttable5/a>>>>>>>>>""line" namv35L125"541284/a>.spae 4 structc3ass="35ick" class= ciOLLOUT_SET="sr).sref"> href="fs/select.c/selec5L212" id35L21>>>>>>>>""line" namv35L125"541284/a>.spae ommehref="+code=__ps hrrriv class="sref">ex=a">entdtimeo/a>,>.a hrsp5334 id3.L53res_+;sreft"line" namv35L123"541234/a>"ex=a"corn3 -emo36ft .a hRESTARTNOHANDL231POLLWRBAND=hRESTARTNOHANDef"> href="fs/select.c/selec5L#L255" i53res_+;sreff"line" namv35L123"541234/a>.spae 4 }
14 44ef="fs/select.c#L2sict .a href="ref"d_>(sss="s||a href="fs/selecf">sal_pendingtruct .a href="f">sal_pending;"(ssreft"line" namv35L123"541234/a>>
14 44f="fs/select.c#c3ass="35ick" class= ciOLLOUT_SET="sr).sref"> href="fs/select.c/selec5L240BIf=_5res_>(ssreff"line" namv35L123"541234/a>.spae 4 rspae 3f="fs/select.c hrrriv class="sref">ex=a"coref="fs/seleces_="fs/sele5elect.c#L56res_="ES" t"line" namv35L123"541234/a>>
14 4href="+code=poll_4clect45elect.c#L56res_="ES" ="line" namv35L236"571284/a>>
14 44 >
14 4  .a hr5L23cond_r5sched;">
14 44ef="fs/select.c#L2seespe>(.a31" id3.L231docseespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2";"_tmespec _daaaaaaaaaaaaaaaeeeeeeeef">ktime3 ||href="fs/select.c/selec54       15a href="+co""line" namv35L125"541284/a>>
14 44   "fs/select.c#L2seespe>(.a31" id3.L231docseespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2";)""_tmespec _daaaaL class="sref">f">ktimeesal /a ||href="fs/select.c/selec54">ttable53.LNULc="sr="line" namv35L231"542304/a>>
14 44   "fs/select.c#L2seespe>(.a31" id3.L231docseespe>(.alecf">sal_pendingtrulectfd.c#L2334 id3.L2"_tmespec _daaaalass="sref">ptaeval  clesal f="fs/selectf="+code=poe5sonl it" 5lass="sreftt"line" namv35L123"541234/a>>
14 44 ."ex=a"corn3 -emo36ft .a hef="+L231POLLWRBAND=hef="+ef"> href="fs/select.c/selec5ass="sref5>ktimebreak="line" namv35L134"542304/href="fs/select.c/selec5a#L255" i5errow:href="fs/select.c/selec5a.a href=5>perrow>
14 44ef="fs/select.c#L2="f;.a href="+codnehref="fs !ref="+code=p" clf=tackf> ex=poll_wqueues"2tackf> e294/f="fs/selectf="+code=poe5s240BIf=_5>ktimebreak="line" namv35L134"542304/a>.spae 4vnt .a f="+code=p" clfkfreex=poll_wqueues"kfreelecf">sal_pendingtruhmp;.a href="+codnehref="fs" href="fs/select.c/selec5alect.c#L5="sref">pta""line" namv35L125"541284/="35ick" class= ci_no" id3.L231s class="ci_no" i+cod:href="fs/select.c/selec5alect.c#L5.4 4 48lass="line" namv35L128"541294/a>{"ex=a href="fs/select.c/selec5a23cond_r5L242" class="line" namv35L242"542424/href="+code=poll_4clect45 havThatr5f">(ssslass="line" namv35L242"591934/a>>
14 44 struct .a hre5 andpsea.5#L29" class="line" namv35L199"541994/aizeof!a h4ef="SYSCALL_DEFIX"sref"s="line" namv3.L134">42304na4 hrefaf" class="ss="line" napae 4vnt sr_pollwak,co4 SES4 return .a hrL231" id3.L231docode=pi;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52";"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52";)he next iteraalue../spa#L2af">sy5/seue" class="line" namv5.L1285941234/a>>
14 44 ."(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52", 0a hreffd.c#Lode=rriv class="sr.c#Lodea934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52"41294>entdtimeo/a>,>.a hrspec _dd_ws5f" class="ss="line" namv5.L2385>42304/a>", 0a hreffd.c#L2334 id3.L23fd.a>;)"sref">poll_wSef">_tmespec _d2ser  clr"sref">ctodkf="+;", 0oid cL134">4234ref">tt4ext itesimeo/a>, 0oid proect.c#L230" id3.eqproess="sref">_tmespec _ddNULc5_pser  cl5ss="sref">_s="line" namv5.L1345>42304/a>>
14 S" cimeo/a>, 0a hreffd.c#Lode=rriv class="sr.c#Lodea934/5me_tet_fi"/a>(tvOU="fs/select.ctvoess="sref">_tmespec _ddNULc5_s240BIf=_"ss="sref">_s"line" namv54L2365492304/a>.spaer4         return .a hrrriv class="sref">ex=="sref">_tmespec _ddNULc5_alect.c#L4de=s3aick" ="line" namv54L2385491284/a>>
14 44         >
1454c#L255" 543.LNULc="sr="line" namv54L2315921294/a>>
14 44ef="fs/select.c#LtvROU="fs/select.ctvRe294/">entdtimeo/a>,>.a hrsp4c242" id5.re/a>)".spae 4href="44ef="fs/select.c#Lcopy_from=_useode=p" class="scopy_from=_use4na4 >time_tet_fi"/a>(f="+vOU="fs/select.ctvoess2"{" href="fs/select.c/sele6line" nam65>(sss="sres="line" namv6id3.L231doc/a>(.a934/5mhef="+code=poll_schedul4_time6rsres="li6e" namv35L236"542304/2>"6a hr460"(struct .a hreftodkf="+;", 0oid.c/sele6line" nam65>(sss="3res="li6e" namv5.L1295>41294>ent614 4460f (!.3f="fs/select.c #Lcopy_from=_useodeees.Iram65>ass="="sref_opa/f="+cule_eeees.Iram65>ass="="sref_s="ss="line" napae 4t4ext i>;)e./a>>= .a hrec/sele6line" nam65>(sss="4res="li6e" namv5.L2385>42304/a>"6a hr460ss="comment"> * Note, 4e do>46EINTVALOU="fs/select.ctvoessf)ef="fs/selectf=aaaalass="sref">tvasssref">poll_wSef">vassss="co+tvROU="fs/select.ctoessf)ef="fs/selectf=aaaalass="sref">tvausssref">poll_wSef">vaussss="co/LOU="fs/select.cUSECf=_PESECref">poll_wSef"USECf=_PESECctf="ec/sele6line" nam65>(sss="5res="li6e" namv5.L1345>42304/a>>614 4 60"fs/select.c#c3ass="35ick" clllllllllvROU="fs/select.ctoessf)ef="fs/selectf=aaaalass="sref">tvausssref">poll_wSef">vaussss="co%/sref> ex=poll_wqUSECf=_PESECref">poll_wSef"USECf=_PESECctf="efsizimeo class="sNSECf=_PEUSECref">poll_wSef"NSECf=_PEUSECtf="+code=poe5sonl it" 5lass=6"/4 AOpr46ft .a hef="+L231POLLWRBd3.ehINVAc+codES" cimeo/a>, 0a hreffdc5o >
14 4 5ass="6ick" ="li6e" namv35L237"501284/a>>614 4460f="+code=poll_4clect45elect.c#L56res_6class="li6e" namv35L135"542304/sel6ct.c#60
14 4  .a hr5L23cond_r5sched6eef">="li6e" namv35L193"502424/a>>614 4460ss="comment"> _(.a hmp;.a hrref">ex=a"cosref">trt./a>;.ef="+code=rurr3nrurr3nt" c3asscore_sys_"+coderef">/a>(.a hdocode=pectfd.c#L2334 id3.L2";";)""_"sref">entdtimeo/a>,&g hreffdc5o >
14 4 5ass="6eef">="li6e" namv35L193"512424/a>>614 44610s="comment"> _(.a hmp;.a hrref">ex=a"cosref">trt./a>;.ef="+code=rurr3nees.Iram65>a4 >tiremains||a href="fs/seleees.Iram65>a4 >tiremains||"/a>(f="+vOU="fs/select.cctodkf="+;", 0oid cROU="fs/select.ctvRe294,srsiziof(f="+code=1 cROU="fs/select.ref">ex=a">entdtimeo/a>,&g hreffdc5o >
14 4 5ass="6esres="line" namv35L241"511994/a>"6a hr461ef="+code=poll_schedul4_time6>614 4461"ex=a href="fs/select.c/selec5a23cond_r5L242"6sref"="li6e" namv35L231"542304/a>"6a hr46="fs/s_4clect45elect.c#L56res_6ass=s="li6e" namv35L238"542304/a>"6a hr461a href="+cod5L2334 id35L23fd6c="sr="li6e" namv35L231"542304/a>"6a hr46="fs/sstatic34L232tackf> ex=poll_do_pc3ass="sr_pollwake.>sal_pa hdocode=pi#L231" id3.L231docode=pi;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid .arex=poll_wqueues" crex=a>;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid .arex=poll_wqueuees" cin=a>;)he next iteraalue../spa#L2af">sy5/seue"6"sres="li6e" namv35L193"541934/4  6     61spae class="comment">/4 AOpra>(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeo/a>, 0oid .arex=poll_wqueuec#L16RIESES" cimeo/a>, 0a hreffd.c#L2334 id3.L23fd.a>;)"sref">poll_wqueues./a>,="+cod_useode=p" class="sr=_useo934/5simeo/a>, 0oid .arex=poll_wqueuetsvRe294,srsiziof(fseraalue../spa#L2af">sy5/seue"6"ck" ="li6e" namv35L125"511234/a>>614 446if (!.a href="+co",>.a hrsp5a href="r5f"d_>6sss="="li6e" namv35L135"512304/a>>614 436ass="comment"> _(.a hmp;.a hrvigss="=_pollwak,co4 SESigss="="+cod_useode=p" claskSig>>>>>>>>>>ntdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"gbs f  clhref="+code=p"gbs f lect.c/selec5a23cond_r5L242"6f">_s="li6e" namv35L193"521284/a>{6poll_wqueues./a>,="+cod_useode=p" clasehref="fs" href="tpec _d2ser  clr"sref">ctodkf="+;", 0oid .a href cL134">4234ref">tt4ext itesimeo/a>, 0oid proect.c#L230" id3.eqproess="sref">_tmespec _ddNULc5_pser  cl5ss="sr62lass="li6e" namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=a>;".6pae 362f (!.a href=5+code=t" 5_fi" 6(;;=s="li6e" namv35L238"542304/a>}6#LtvROU="fs/select.csvRe294,srsiziof(fseraalgt;.a hrsp4c242" id5.re/a>6=a>;)="li6e" namv35L236"521934/a>>614 4462ss="comment"> * Note,#Lcopy_from=_useode=p" class="scopy_from=_use4na4 >time_tet_fi"/a>(f="+vOU="fs/select.cthref="fs" href="tpec _d2ser  clr"sref">tsvRe294,srsiziof(fseraalu=p" cl+vOU="fs/select.cthref="fs" href="tpec _"+code=po65de=mode"65lass="2lass="li6e" namv35L125"541294/a>>614 4l62"fs/select.c#c3ass="35ick" cl6ft .a hef="+L231POLLWRBAND=hef="+ef"> href="fs/select.c/sele6line" nam65>(sss=IES" ="li6e" namv35L236"521934/6>>614 446        igoto5elect.c#L56res_6"ES" ="li6e" namv35L236"52230./a>"6a hr362f (!."fs/select.c#L2L231s class =a~(t4ext iteraalue../spae="<7f="fs>(struct .a hreftodkf="+;", 0oid.c/sele6line" nam65>(sss=2lass="li6e" namv35L128"521294/a>>614 4462ss="commehref="+code=__pspy_from=_useodeees.Iram65>ass="="sref_opa/f="+cule_eeees.Iram65>ass="="sref_s="ss="line" napae 4t4ext i>;)e./a>>= .a hred_useode=p" clasehref="fs" href="tpec _aaaalass="sref">tvasssref">poll_wSef">vassss="ced_useode=p" clasehref="fs" href="tpec _aaaalass="sref">tvansssref">poll_wSef">vanssss="c+code=po65de=mode"65lass="2ss="="li6e" namv35L238"542304/a>>614 446f="fs/c3ass="35ick" cl5ick" cl6ft .a hef="+L231POLLWRBd3.ehINVAc+codES" cimeo/a>, 0a hreffdc5o >
14 4 5ass="6jES" ="li6e" namv35L236"531934/a>>614 4463="ueues./a>,=_4clect45elect.c#L56res_6 sres="li6e" namv35L236"531934/a>>614 4463ef="+code=poll_schedul4_time63lass="li6e" namv35L232"531934/a>>614 4463ehref="+code=__psrex=poll_wqueueSig>>>>>>>>>>ntdtv./a>Sig>>>>wakegt;.a hrsp4c242" id5.re/a>6>;)++="li6e" namv35L236"531234/a>>614 4463f (!.3f="fs/select.c h        Not enough lascsXXX: DonESTARt precludf thndl),8ddiffeelec=p" cd Sigss="=ESTARs.xt iteraalue../spa5 id3.L23a5p.biu6IES" ="li6e" namv35L236"542304/a>"6a hr"63ss="comment"> * Note,#Lcopy_from=_useodeSigss=refsizi="fs href="fs/gss=refsf="+clf=p" clf=tackf> ex=poll_wigss="=_pollwak,co4 SESigss="="+co+code=po65de=mode"65lass="res=s="li6e" namv35L238"542304/a>>614 4463"fs/select.c#c3ass="35ick" cl6ft .a hef="+L231POLLWRBd3.ehINVAc+codES" cimeo/a>, 0a hreffdc5o >
14 4 5ass="6jES" ="li6e" namv35L134"542304/a>>614 4463spae class="comment">#Lcopy_from=_useode=p" class="scopy_from=_use4na4 >time_tet_fi"/a>(f="+vOU="fs/select.ckSig>>>>>>>>>>ntdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>>>ntdtv./a>Sig>>>>wake./p" clf=tackf> ex=poll_kSig>>>>>>>>>>ntdtv./a>kSig>>>>wake"+code=po65de=mode"65lass=">inue="li6e" namv35L236"542304/a>>614 446if (!."fs/select.c#L2L5ick" cl6ft .a hef="+L231POLLWRBAND=hef="+ef"> href="fs/select.c/sele6line" nam65>(sss=l  cl""li6e" namv35L125"541284/a>>614 446>
14 4  .a hr5f="+code=5c" cl63lass="li6e" namv35L209"542094/a>>614 4s63ss="c4 return .a hrehmp;.a href="+coSigdelss=>>>>>>>>>>ntdtv./a>Sigdelss=>>>>"/a>(f="+vOU="fs/select.ckSig>>>>>>>>>>ntdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>>>ntdtv./a>Sig>>>>wake=tackf> ex=poll_SIGKIeqproess="sref">_SIGKIeqwake"|a>(.a31" id3.L2p"g>>>>>>>>>>ntdtv./a>Sig>>>>wake=tackf> ex=poll_SIGSTOPproess="sref">_SIGSTOPwake"+.c/sele6line" nam65>(sss=res=s="li6e" namv35L238"542424/a>>614 4464       .a href="+code=4time_48t_fi" Sig"fs/>>>>>>>>>>ntdtv./a>Sig"fs/>>>>wake=tackf> ex=poll_SIGOLLEMASKproess="sref">_SIGOLLEMASKwake./f="+vOU="fs/select.ckSig>>>>>>>>>>ntdtv./a>kSig>>>>wake./f="+vOU="fs/select.cp"gbs f  clhref="+code=p"gbs f lect+.c/sele6line" nam65>(sss=rsres="li6e" namv35L134"541994/a>"6a hr464f="+code=poll_4clect45DE_ABS" c5ass="6nef">="="6ine" nam53.L13541264/a>>614 4464f (!.a href=5+code=t" 5_fi" 6break="li6e" namv35L134"542304/a>"6a hr464a href="+codcoex=poll_wqueueref">ex=a"cosref">trt./a>;.ef="+code=rurr3nrurr3nt" c3asscore_sys_"+coderef">/a>(.a hdocode=pectfd.c#L2334 id3.L2";";)""_"sref">entdtimeo/a>,&g hreffdc5o >
14 4 5ass="6ES" tt"li6e" namv35L123"542304/a>"6a hr"6a r_pollwake.sizimeo class="sref">ex=a"cosref">trt./a>;.ef="+code=rurr3nees.Iram65>a4 >tiremains||a href="fs/seleees.Iram65>a4 >tiremains||"/a>(f="+vOU="fs/select.cctodkf="+;", 0oid cROU="fs/select.csvRe294,srsiziof(fseraalu=0 cROU="fs/select.ref">ex=a">entdtimeo/a>,&g hreffdc5o >
14 4 5ass="6>inue="li6e" namv35L236"542304/a>>614 446returnhreffdc5o >
14 4 5ass="6>ES" ="li6e" namv35L193"542304/a>>614 446f="fs/select.c#L2sizimeo class="sref">ex=a"cosref">trt./a>;.a hRESTARTNOHANDL231POLLWRBAND=hRESTARTNOHANDef"> href="fs/selectgt;.a hrsp4c242" id5.re/a>6a hss="li6e" namv35L238"542304/a>>614 446ass="c4lass="comment">         Not enough lascteraalue../spa5 id3.L23a5p.biu6pa>;)="li6e" namv35L134"542304/a>>614 446419" id4.L12948de=rriv classect.c#L2L5ick" cl* DonESTARt  hyof">eeememf">sa >>>> yet. Let al_pf">sa() delivfi"/raalue../spa5 id3.L23a5p.biu6plass="li6e" namv35L134"542304/a>>614 4464truct .a href="+code=p4mespe48lass=part rmb ofeememf">sa skeeemeway bryticeet_fik arr, beff">eeememf">sa"/raalue../spa5 id3.L23a5p.biu6Ka>;)="li2e" namv35L134"542304na>.6hmp;.6566plass=1.6hmp;.6566plass=1.6msL2L5ick"danarri" id3.L25eeeeeeees.poin7"6c#L135.c#6138" 5dmole41994/a>""6a hr46>614 4463ehref="+code=__psrex=poll_wqueueSig>>>>>>>>>>ntdtv./a>Sig>>>>wakegt;.alect45e=m6de" c5ass="sref"s="line"6namv365236"531234/a>>614 44642304/a>"6a hr"6a r_polmemcpyrex=poll_wqueuememcpyIram65>a4 >tiremains||"/aingtruct .a href="f">sal_pending;";)e./a>>= .a s f  _de=__psrex=poll_wqueueS f  _de=__ps>>>>>ntdtv./a>kSig>>>>wake./f="+vOU="fs/select.cp"gbs f  clhrRe294,srsiziof(fseraalue.selec5>>>6>>>>>5>>>>>>>>>>>""line"6namv3652385>42304/a>"6a hr460ss="comment"> *********f="fs/gss=refsf="+clf=p" c"+vOU="fs/select.cp"gbs f  clhre">ex=a">entdtimeo/a>,&g hrselec5>>>6>>>>>53.L23fa>;)s="line"6namv365238"542304/a>>614 4463"fs/selss=refsf="+clf=p="=2L5ick"_de=__psrex=poll_wqueueS="=2L5ick"_de=__psIram6">ex=a">entdtimeo/a>,&g hrsffdc5o >
BIf=_5sbiclasssss="line"6namv365236"492304/a>.spae 4vnt .a href="+code=poll_46selec5>346id3.L5clasbiclass="line"6namv36L134"55230./a>} >>>>6>614 4463ehref="+code=__psrex=poll_wqueueSig>>>>>>>>>t .a href="+code=poll_46s/spa5 id314 4 5.c/seef">++="line"6namv365134"542304/a>>
14 44lass="c3f="fs/se="+code=4time_48t_fi" Sig"fs/>>>>>>>>>>ntdtv./a>Sig"fs/>>>>wake=tackf> ex=poll_SIGOLLEMASKproess="sref">_SIGOLLEMASKwake./f="+vOU="fs/select.cp"gbs f  clhrRxt itesimeo/a>, 0oid proect.c#L230" id3.eqp">ex=a">entdtimeo/a>,&g hrs/spa5 id3code=53.LNULc="sr="line"6namv36L231"542304/href="fs/select.c6selec5e./6>="sr5f">f">ktime""line"6namv36L125"541284na>>614 4461"ex=a href="fs/select.c/selec5ec#6138" 5sbiclasssss="line"6namv36L238"5nt .a href="+code=poll_46selec5ee=6ode" 5clasbiclass="line"6namv366.L13541264/a>>614 4464f (!.a e=poe5#L168" id5.c/seef">++="line"6namv366134"542304/a>"">>6>>>>>5>>>>>>>>>>>""line"6namv366231"542304/a>"
BIf=_5sbiclasssss="line"6namv36L238"542304/a>">>5>>>>>>>>>>>""line"6nameees"o934tcsvRe294D hasLaL122"49="{">>>eMost arc>ameeet.c#L122" id34 cd Sigss="=ESTARsref">trt.6a>;.ef="+code=rurr3nt" c6ass="66. Let al_pf">sa() delivfi"/rehref="+code=__psrex=poll_wqueueS namv35L165"571284na>.spae 6ss=3ef6"fs/s6lect.  f  clhrRxt ites1docode=pi;"<6oid proect.c#L231docode=pi;"<6p"gbs f  clhrRxt ite/5me_te6oid proect.c#L2/5me_te6ne"6na"/a>(f=_useode=p" class="sr=_useo934/52";"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52";)he next iteraalue../spa#L2af">sy5/s/a>(.a934/5me_tet_fi"/a>(f=_useode=p4  6     61spae class="comment">/4 AOpra>(.a31" id3."ca>,"{"<6 hreft.c/select.c#L135f"6ttabl67> ex=poll_SIGOLLEMASKproess="sref">_OU="fs/select.c#L16RIESES" cimeo/a>, 0a hreffd.c#Lode=rriv class="sr.c#Lodea934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/52"sy5/seue"6"ck" ="li6e" namv3a>,&g hreffdc5o >
14 4 5ass="6>inue="li6e" nt">/4 AOpra>(.a31" id3."6namv366.href="fs/select.c/selec56212" 6d35L21>>>>>>>>""line"  retueraalue../spa#L2af">sy5/seue"6"ck" ="li6e" namv3a>,&g hreffdc5o >t ad3code=53.LNULc="sse="+code=4time_48t_fi" Sig"fa">entdti6eo/a>,>.a hrsp5334 id6.L53r6s_+;sr r_polmemcpyrex=poll_wqueex=a"corn6 -emo36ft .a hRESTARTNOH6NDL2367sscore_sys_"+coderef">/a>(.a="+code=poee=",>.a hrsp5a l_4clect45elect.c#L56res_="E6"d_>(sss=6s||a href="fs/selecf">sa6_pend674 >tiremains||a href="fs/selarex=poll_wqueueSig>>>>>>>>>>ntdtv./a>Sig>>>>wake./a>(.a31" id3.L2p" c"=_pollwak,co4 SESi c"="+cod_u4 4 5ass="6>inueupains||"/a>(f="+vOU="fsa>"6a hr46        return .a hrrriv class="sref">ex=aT_SET="sr6.sref"> href="fs/select.6/sele67c#L2sizimeo class="sref">ex=aex=a"core6="fs/seleces_="fs/sele5e6ect.c67oll_wqueues"2tackf> e294/) / 6">enad3code=53.LNULc="sse="+a r_polmemcpyrex=poll_wque" ="line"6namv35L236"571284/a>>
14644 >
67li6e" namv35L134"5423" namv35L123"541234/access_oKwake./f="+vOU="access_oKp"gbs f  clhrRxt iteVERIFY_REA8"542304/a>>614 VERIFY_REA8="sref">_SIGKIeqwake"|a>d3code=53.LNULc="sse="s=">inue=e" nam)+fa>;)s="line"6namv365238+code=poee=">
14 44ef="fs6selec67> ex=poll_SIGOLLEMASKKKKK||/a>Sig>>>>wake./a>turn(.a31" id3.L2p" c"=_pturn(.a3p"gbs f  clhrRxt iteu4 4 5ass="6>inueupains,igss="=_pollwak,co4 SESoll_wqueueSig>>>>>>>>>>ntdtv./a>Sig>>>>wake./a>(.a31" id3.L2p" c"=_pollwak,co4/a>Sig>>>>wake./a>(.a31" id3.L2p" c"=_pollwak,co4),&g hreffdc5o >t ad3code=53.LNULc="sse="+code=4time_48t_fi" Sig"fanamv35L16lecf">sal_pendingtrulect6d.c#L67 hreffdc5o >
14 4 5ass="6||/a>Sig>>>>wake./a>turn(.a31" id3.L2p" c"=_pturn(.a3p"gbs f  clhrRxt iteL128"541294/ent6timeo6a>,>.a hrsp5a  nt">/4 AOpra>(.a31" id3.seespe>(.6lecf">sal_pendingtrulect6d.c#L6334 id3.L2"Sig>>>>wake./a>(.a31" id3.L2p" c"=_pollwak,co4)kf> e294/) / 6">enad3code=53.LNULc="sse="+">inue=e" nam)t.c#L2L5ick" cl6ft .a hef="seespe>(.6lecf">sal_pendingtrulect6d.c#L6334 id3.L2">614 446>
14 4  .a hr5f="+code=5c" cl63lass="li6e"ex=a"corn6 -emo36ft .a hef="+L231P6LLWRB6ND=hef="+ef"> 68" id5.c/seef">++="line" namv35L268"542304/="35ick" class=6ciOLL6UT_SET="sr).sref">:href="fs/s6lect.c/se6ec5a.a href=5>perrowtiremains|"6namv36L238"5nt .a hr>(.a31" id3.L231doc/a>(.a934/5me_tet_fi"=poll_wqueuees" cin=a>;)""_"sref">entdtimeo/a>,&g hreffdc5o >
14 4 5ass="6ES" tt"li6e" namv35L123"542304/a>"614 4 5ass="6>inue="li6e" n f  clhrRxt iteu4 4 5ass="6>inueupains,i f  clhrRxt iteL128"541294/ent6timeo6a>,>.a hrsp5a /6>="sr5f">f">ktime""line"fs !ref="6code=p" clf=tackf> ex=po6l_wqu6ues"2t68" id5.c/seef">++="line" x=a"core6sal_pendingtruhmp;.a hre6="+co68ect.c#L2L231s class =a~(t4ext:href="fs6select.c/selec5alect.c#L6.4 4 68lass=#ifdef/a>Sig>>>>wake./a>ARCH_WANT_31d_OLD_6"52191" id3.L2p" c"=_pARCH_WANT_31d_OLD_6"5219ct.c#L2L231s class =a~(t4ext:namv35L16fs/select.c/selec5a23con6_r5L262" cla34/52".s=_arg_34/52" >tir r_polmemcpyrex=poll_wque" namv35L642"591934/a>>
14 44 stru6t .a 68 hreffdc5o >
=s="line"pi;";)""="sr5f">f">ktime""line" namv35L169"541994/aizeof!a h4ef="6YSCAL694 >tiremains||a href="fs/sel=poll_wqueues" crex=a>;"(.a31" id3.L231doc/a>(.a934/5me_tet_fi"/a>(f=_useode=p" class="sr=_useo934/5simeomv35L193"541934/4  6     61spae class="comme_wqueues./a>,="+cod_useode=p" class="sr=_u6>="sr5f">f">ktime""line" eespe>(.64 hrefaf" class="ss="lin6" nap6934 id3.L2"="sr5f">f">ktime""line" x=a"corn65me_tet_fi"/a>(f=_useode6p" cl6ss="sr}6>="sr5f">f">ktime""line" namv35L26385>42304/a>", 69T_SET="sr).sref">:href="fs/s6"sref">po6l_wSef">_tmespec _d2ser 6clr"s69namv35L134"542304/a>31docode=pi;"<1 4 5ass="6esres31docode=pi;"<1t_fi"=poll_wqueuees"old=poll_wqueues" crex=a>old=poll_w_useo934/52".s=_arg_34/52" >tireraalue../spa#L2af">sy5/seue"6"ck" ="li6e" namv3a>,&g hreffdc5o >argwake./f="+vOU="arsse="+code=4time_48t_fi" Sig"fc#Lodea936/5me_tet_fi"/a>(tvOU="fs6selec6.ctvoe r_polmemcpyrex=poll_wque"sref">_t6espec _ddNULc5_alect.c#L6de=s36ick" ="line" n34/52".s=_arg_34/52" >tireraalue../spa#Lawake./f="+vOU="aine"6>="sr5f">f">ktime""line" href="fs615921294/a>>
14 44ef="fs6selec6.c#LtvROU="fs/select.ctvRe2946">entdtim6o/a>,>.a hrsp4c242" i65.re/6>)"kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>>>ntdtv./a>Sig>>>>waawake./f="+vOU="aine"a>,&g hreffdc5o >argwake./f="+vOU="arsse="s=">inue="li6e" namv35L2awake./f="+vOU="aine"t.c#L2L5ick" cl6ft .a hef="p" class=6scopy_from=_use4na4 >tim6_tet_6i"/a>(f="+vOU="fs/selel""li6e" namv35L125"541284/a>>614 446>
14 4  .a hr5f="+code=5c" cl63lass="li6e7+L231POLL7RBAND=hef="+ef"> href="f7/sele70lasssss="line"6namv36L238"5nt .a hrtex=poll_wqueues" crex=a>r_pollwake./aex=poll_wqueuees"awake./f="+vOU="aine"i6e" namv35L238" cin=a>;)""_"sref">entdtimeo/a>,&g hreffdc5o >
14 4awake./f="+vOU="aine"i6e" namv35L238" 5ass="6ES" tt"li6e" namv35L123"542304/a>"awake./f="+vOU="aine"i6e" namv35L238"a>.spae 4href="44ef="fs/se+code=5c" cl63lass="li6e7+1231POLL7R hrefaf" class="ss="lin73f="f70e5#L168" id5.c/seef">++="line7 iteraalu7../spae="<7f="fs>(struct7.a hr7ftodkf#>(ssf8" id5.c/seef">++="line7 3teraalu7.85>42304/a>":href="fs/s7fs/select7ctvoessf)ef="fs/selectf=7aaala7s="sre34/52"tir r_polmemcpyrex=poll_wqu7="fs/sele7t.ctoessf)ef="fs/selectf7aaaal70ctvoess="sref">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tirma href="fs/seltnexd_useode=p" clasnexd5f="+code=5c" cl63lass="li6e7+6fs/sele7tspec _ddNULc5_alect.c#L7/a>, 70ck" ="line" namv54L2385491284/a>le cin=a>;)""_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tireraalue../spa#Lentria>" >ti[0]+code=5c" cl63lass="li6e7+8fs/sele7t/a>,>.a hrsp4c242" i7ommen7"> _(.}6>="sr5f">f">ktime""line7ref">trt.7a>;.ef="+code=rurr3nrurr7nt" c70sh4ef="+4orriv class="sref">7ref">trt.7a>;.ef="+code=rurr3nees.7ram657a4 >ti#defe=rreraalue../spa#LPOLLFDae clPAGE"sal_pendingtrulPAGE_SIZE"inue=">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >ti)s="c">inue=">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >ti.c#L2L5ick" cl6ft .a hef=7 namv35L173"511264/a>>614 4461"7x=a href=7fs/select.c/selec5a23con7_r5L271eak="line" namv35L134"54230Most architerau2L5ref>ect.c#LX: 7" namv35L738"542304/a>"6a hr461a h7ef="+71amv35L123"542304/a>">>""re)="lyst architerau2L5ref>ect.c#LX: 7"s/select71"542304/a>"6a hr46="fs/7stati71    Not enough lascteraalue.sef="fsestednamvev hrs)matchnamvi2e"oid fict.cpev hrs)mask,hr4f=i2e"sesultst architerau2L5ref>ect.c#LX: 7""fs/sele7ake.>sal_pa hdocode=pi#L731" i71   Not enough lascteraalue.sffmatchnamvi2at(f=7useod71uemp;.a href="+coSigdelss=>>>>pwaitvoid _table will bef">="=by=i2e"ficfs/sel dvoid ine"6narL134"waitnam,AND hasLaL122"49=">614 436ass=7comme71. Let al_pf">sa() delivfi"/rehref="+code=__psrex=poll_wqueue7wak,co4 S7Sigss="="+cod_useode=p" 7laskS7g>>>>>docode=6e" namv35L238"euod_useL16RIESES4 retuod_u4  .a=s="line"amv54L2385491284/a>934/id fid3code=53.LNULc934/id fi./aex">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tirma href="fs/seltoid fid3code=53.LNULcoid fi >ti35L123"542304/a>"oid _table_useode=p" clasehreftable >tirma href="fs/seltowait_useode=p" clasewaitse="+code=4time_48t_fi" Sig"7"sref">po7l_wqueues./a>,="+cod_use7de=p"7claseh r_polmemcpyrex=poll_wqu7>;"MASKwake./f="+vOU="ct.cp"gb6>="sr5f">f">ktime""line7 namv35L278"542304/a>}6fid3code=53.LNULcf,=reffd.c#L2334 id3.L23fd.a>;7srsiziof(7seraalgt;.a hrsp4c242" i75.re/72T_SET="sr).sref">:href="fs/s7p" class=7scopy_from=_use4na4 >tim7_tet_724 >tiremains||a href="fs/selMASKwake./f="+vOU="ct.cp"gbl_4clect45elect.c#L56res_="E7+L231POLL7RBAND=hef="+ef"> href="f7/sele7t.c/sele6line"4L2385491284/a>fid3code=53.LNULcf,=ref||"/a>(f="+vOU="fs/selfid3code=53.LNULcoid fi >tict.cp"gbs f  clhrRe2fid3code=53.LNULcf,=reffd.c#L2334 id3.L23fd.a>;7s231doc/a76"52230./a>"6a hr362f (!7"fs/s72oll_wqueues"2tackf> e294/) / 6">fid3code=53.LNULcf,=ref|t.cp_4c+a r_polmemcpyrex=poll_wqu7 iteraalu7../spae="<7f="fs>(struct7.a hr7ftodkf="+;"_tmespec _ddNULc5_s2fid3code=53.LNULcf,=ref|pec _ddNULc5_s2fd3code=53.LNULcf=ref||"/a>(f="+vOU="fsfdgl_wqueues" crex=a>;ghrecoex=poll_wqueues" fid3code=53.LNULcf,=refe+code=5c" cl63lass="li6e7es.Iram657ass="="sref_opa/f="+cule7eeees7Iram65>ass="="sref_s="|a href="fs/selMASKwake./f="+vOU="ct.cp"gbl_4eraalue../spa#LPOLL4/a>>614 4463spae cPOLL4/a>=reffd.c#L2334 id3.L23fd.a>;7sak,co4 S7RBd3.ehINVAc+codES" cime7/a>, 7a hreffdc5o >
14 4 5astackf> e294/) / 6">fd3code=53.LNULcf=refi6e" namv35L238"filed3code=53.LNULcfile >ti+a r_polmemcpyrex=poll_wqu7es="li6e"7namv35L236"531934/a>>61474463e7334 id3.L2", 0oid proect.c#L2D .a hr_POLL>, 0=reffd.c#L2334 id3.L23fd.a>;7 namv35L272"531934/a>>614 4463ehre7="+co7334 id3.L2" e294/) / 6">fd3code=53.LNULcf=refi6e" namv35L238"filed3code=53.LNULcfile >tict.cp"gbs f  clhrRe2f_o.spae 4href="44ef_o.=ref|t>ntdt>ntd|pec _ddNULc5_s2fd3code=53.LNULcf=refi6e" namv35L238"filed3code=53.LNULcfile >tict.cp"gbs f  clhrRe2f_o.spae 4href="44ef_o.=refct.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >ti+a r_polmemcpyrex=poll_wqu7enamv35L27/a>Sig>>>>wakegt;.a hrsp7c242"735e=m6de" c5ass="sref"hrefffffffffffff|a href="fs/selowait_useode=p" clasewaitse="ct.cp"gbs f  clhrRe2_ke_de=__psrex=poll_ke_=ref||"/a>(f="+vOU="fs/selfid3code=53.LNULcoid fi >tict.cp"gbs f  clhrRe2ev hrs"tif">_SIGSTOPwake"POLLERR>614 4463spae cPOLLERR >tif">_SIGSTOPwake"POLLHU4/a>>614 4464   POLLHU4=reffd.c#L2334 id3.L23fd.a>;7 rsiziof(7DonESTARt precludf thndl7,8ddi7feelec=p" cd Sigss="=Ehrefffffffffffff|a href="fs/selMASKwake./f="+vOU="ct.cp"gbl_4eraalue../spa#Lfd3code=53.LNULcf=refi6e" namv35L238"filed3code=53.LNULcfile >tict.cp"gbs f  clhrRe2f_o.spae 4href="44ef_o.=refct.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tikf> e294/) / 6">fd3code=53.LNULcf=refi6e" namv35L238"filed3code=53.LNULcfile >ti35L123"542304/a>"owait_useode=p" clasewaitse="+fd.c#L2334 id3.L23fd.a>;7 " class=7zi="fs href="fs/gss=refs7="+cl7=p" clf=tackf> ex=pollllllllll68" id5.c/seef">++="line7+L231POLL7RBd3.ehINVAc+codES" cime7/a>, 7a hreffdc5o >
14 4 5ass="6jES"STARs.xt iteraalue../spa5M hr4outn=sneel dvev hrs.rehref="+code=__psrex=poll_wqueue7p" class=7scopy_from=_use4na4 >tim7_tet_7i"/a>(f="+vOU="fs/seleffffffff|a href="fs/selMASKwake./f="+vOU="ct.cp"gblt>ntd|"/a>(f="+vOU="fs/selfid3code=53.LNULcoid fi >tict.cp"gbs f  clhrRe2ev hrs"ti |/a>Sig>>>>wake./POLLERR>614 4463spae cPOLLERR >ti |/a>Sig>>>>wake./POLLHU4/a>>614 4464   POLLHU4=reffd.c#L2334 id3.L23fd.a>;7 iteraalu7RBAND=hef="+ef"> href="f7/sele7t.c/sele6line" nam65>(sss=l  c=poll_wqueues" fiped_useode=p" clasfiped >tikf> e294/) / 6">fd3code=53.LNULcf=ref+fd.c#L2334 id3.L23fd.a>;7 s.Iram6579"542094/a>>614 4s63ss="74 ret73ram65>ass="="sref_s="68" id5.c/seef">++="line7+ak,co4 S7>>>>ntdtv./a>Sigdelss=>>7>"/a>7f="+vOU="fs/se68" id5.c/seef">++="line7s/>>>>>>>7>>ntdtv./a>Sig"fs/>>>>wa7e=tac744 >tiremains||a href="fs/sel/selfid3code=53.LNULcoid fi >tict.cp"gbs f  clhrRe2rev hrs"ti |"/a>(f="+vOU="fsMASKwake./f="+vOU="ct.cp"gb6>="sr5f">f">ktime""line7">="="6in7" nam53.L13541264/a>>61474464f74sh4ef="+4orriv class="sref">7 namv35L174"542304/a>"6a hr464a hr7f="+c74"6sref"="li6e" namv35L231"542304/a>MASKwake./f="+vOU="ct.cp"gb6>="sr5f">f">ktime""line7"rsiziof(7a>;.ef="+code=rurr3nrurr7nt" c74d5L2334 id35L23fd6c="sr="li6e7ref">trt.7a>;.ef="+code=rurr3nees.7ram65744L232tackf> ex=poll_do_pc3as7 namv35L173"542304/a>>614 446f="fs7selec74.L231docode=amv54L2385491284/a>934/id d3code=53.LNULc934/id  >tik=s="line"amv54L2385491284/a>n294/a>{"_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tirma href="fs/seltlisd_useode=p" claslisd >ti nt">/4 AOpra>(.a31" id37"cosref">7rt./a>;.a hRESTARTNOHAND7231PO74"/a>(f="+vOU="fs/selefff">_tmespec _ddNULc5_s2oid cwqueua>" >tirma href="fs/seltwait_useode=p" claswaitse="o934/52"/4 AOpra>(.a31" id37"iteraalu7ue../spa5 id3.L23a5p.biu7pa>;)7"li6e" r_polmemcpyrex=poll_wqu7 cl* DonE7TARt  hyof">eeememf">sa 7>>> y748 >tiremains||a href="fs/sel/sel_table_useode=p" clasehreftable >ti4/a>Sig>>>>wake./pd_useode=p" clasemains||">>ntdtv./a>Sig>>>>wawait_useode=p" claswaitse="ct.cp"gbs f  clhrRe2od_useode=p" clasemains6>="sr5f">f">ktime""line7"ak,co4 S7f">sa skeeemeway brytice7t_fik74>>>>>>>>>>ntdtv./a>kSig>>>>wkseleode=poee="tireraalue../spa#Lexpir4/href="fs/selectxpir4se="o9ma href="fs/seltvl5ss="sr62lass="li6e" namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=7narri" id7.L25eeeeeeees.poin7"6c#L735.c#754 >tiremains|amv54L2385491284/a>seled42304/a>>
14 44   "seled4230p"gbl_4c35L123"542304/a>"couig>>>>wake./f="+vOouigp"gbl_4clect45elect.c#L56res_="E7.xt itera7lue.effdc5de=6ode" 5lasb7class75a hs="li6e" n=s="line"pi;"sSTARs.xt iteraalue../spa5Opseliss="linno-waitvcass=ehref="+code=__psrex=poll_wqueue7clf=p" c"7vOU="fs/select.cp"gbs f 7clhre7>ex=a">entdtimtackf> e294/) / 6">o"562304/href="fs/select.c/selec5rr|t>ntdt>ntd|mv35L123"541234/o"562304/href="fs/select.c/selec5rrct.cp"gbs f  clhrRe2sref">tvausssref">poll_wSef">vaut>ntdt>ntd|mv35L123"541234/o"562304/href="fs/select.c/selec5rrct.cp"gbs f  clhrRe2sre304/a>>614 446f="fs/c3ass="35ica r_polmemcpyrex=poll_wqu7rex=poll_7queueS="=2L5ick"_de=__ps7ram6"7ex=a">entdtimeo/a>,&g "gbs f  clhrRe2od_useode=p" clasemainsct.cp"gbs f  clhrRe2_qselede=__psrex=poll_qsele6e" namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=7ncosref">7="line"6namv36L134"552307/a>} 7>>>6>614 4463ehref="+c4L2385491284/a>seled42304/a>>
14 44   "seled4230p"gbl_41 hrrriv class="sref">ex=7niteraalu7t .a href="+code=poll_467/spa575 4  .a hr5L23cond_r5sched6eef">="li6e7s/>>>>>>>7>>ntdtv./a>Sig"fs/>>>>wa7e=tac75n .a hrehmp;.a href="+coSigd76namv36L175"541284na>>614 4461"entdtimtackf> e294/) / 6">o"562304/href="fs/select.c/selec5rr|t>ntdt>ntd|mv35L123"541234/seled42304/a>>
14 44   "seled4230p"gbint">/4 AOpra>(.a31" id37x=a href=7fs/select.c/selec5ec#6137" 5sb76> ex=poll_SIGOLLEMASKproess="sref">_slacKwake./f="+vOU="flacKp"gbl_4proess="sref">_sOU="fsesselate_accurac_de=__psrex=pollsOU="fsesselate_accurac_ >tikf> e294/) / 6">o"562304/href="fs/select.c/selec5rri hrrriv class="sref">ex=7"6namv3667L13541264/a>>614 4464f (7.a e=76sh4ef="+4orriv class="sref">76namv366174"542304/a>"_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tirma href="fs/seltwalKwake./f="+vOU="walKn .a hrrriv class="sref">ex=7oe 7-smal7 ar scocallro"=amwe.gi v7de a 764L232tackf> ex=poll_do_pc3as7h small a76msLaL122"49="{6entdtimeo/a>,&g 134"(a href="fs/seltwalKwake./f="+vOU="walKn .al_4proess="sref">_lisd_useode=p" claslisd >tid|pec _ddNULc5_s2walKwake./f="+vOU="walKn .al!amv35L241"542414/a>"6a hr46        return .a |pec _ddNULc5_s2walKwake./f="+vOU="walKn .alamv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="ca r_polmemcpyrex=poll_wqu7ecosref">7a hr"6a r_polmemcpyrex=p7ll_wq76"/a>(f="+vOU="fs/seleffffffff">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tirmspec _ddNULc5_s2ofid3code=53.LNULcofi >ti35mspec _ddNULc5_s2ofi_t.cd3code=53.LNULcofi_t.cn .a hrrriv class="sref">ex=7oiteraalu76"56230./a>{"trt.7a>;.ef="+code=rurr3nt" c7ass="76> ex=poll_SIGOLLEMASKKKKK,&g "gbs f  clhrRe2ofid3code=53.LNULcofi >tilamv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2entria>" >ti hrrriv class="sref">ex=7onamv36L175"571284na>.spae 6ss=3ef7"fs/s76 hreffdc5o >
14 4 5ass="6jES"pec _ddNULc5_s2ofi_t.cd3code=53.LNULcofi_t.cn .a||"/a>(f="+vOU="fs/fid3code=53.LNULcofi >til+mv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2le cin=a>;)"","{"<7 hreft.c/select.c#L135f"7ttabl77> ex=poll_SIGOLLEMASKf"="li6e134"(;"/a>(f="+vOU="fs/fid3code=53.LNULcofi >til!amv35L241"542414/ofi_t.cd3code=53.LNULcofi_t.cn .a "/a>(f="+vOU="fs/fid3code=53.LNULcofi >ti++ca r_polmemcpyrex=poll_wqu7"6namv3667href="fs/select.c/selec57212" 7d35L21>>>>>>>>""line" 14 4 5ass="6jES"pine" namv35L134"54230Most architerau2L5ref>ect.c#LX: 7a">entdti7eo/a>,>.a hrsp5334 id7.L53r77eak="line" namv35L134"54230>>>>>>>>""line" 14 4 5ass="6jES"a* FishL134"ev hrs.rIf4f="fouid one,9record itst architerau2L5ref>ect.c#LX: 7ex=a"corn7 -emo36ft .a hRESTARTNOH7NDL2377amv35L123"542304/a>">>>>>>""line" 14 4 5ass="6jES"a* r4f=kill ehreftablect.cp_qsele, sr4f="d3a5p.biust architerau2L5ref>ect.c#LX: 7ee 7-smal7s||a href="fs/selecf">sa7_pend77    Not enough lascteraalue.>>>>>>>""line" 14 4 5ass="6jES"a* neellessly9regisder r4y o"li4"waiters aft href="+code=p4mespe48lass=part 7T_SET="sr7.sref"> href="fs/select.7/sele77   Not enough lascteraalue.s>>>>>>>""line" 14 4 5ass="6jES"a* this. ThHy5p.bill get iraadiately9deregisderlinef="+code=p4mespe48lass=part 7Tcosref">7="fs/seleces_="fs/sele5e7ect.c77uemp;.a href="+coSigdelss=>>>>>>>>>""line" 14 4 5ass="6jES"a* when4f="brear4outnr4f="6namvt.c#L122" id34 cd Sigss="=ESTAR7" ="line"7namv35L236"571284/a>>
14744 >
77 hrrr.a href="+coSigdelss=>>>>>>>>>""line" 14 4 5ass="6jES"a*href="+code=__psrex=poll_wqueue7 namv35L174"542304/a>>
14 44ef="fs7selec77> ex=poll_SIGOLLEMASKKKKKKKKKKKKKKKKKtackf> e294/) / 6">934/id fid3code=53.LNULc934/id fi./aexpec _ddNULc5_s2ofid3code=53.LNULcofi >ti35"gbs f  clhrRe2od_useode=p" clasemains)ca r_polmemcpyrex=poll_wqu7"namv36L17lecf">sal_pendingtrulect7d.c#L77 hreffdc5o >
14 4 5ass="666666666666666666666L123"542304/a>"couig>>>>wake./f="+vOouigp"gb+++code=5c" cl63lass="li6e7seespe>(.7lecf">sal_pendingtrulect7d.c#L7334 id3.L2""od_useode=p" clasemainsct.cp"gbs f  clhrRe2_qselede=__psrex=poll_qsele6e" namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=7seespe>(.7lecf">sal_pendingtrulect7d.c#L7334 id3.L2"="li6e7ex=a"corn7 -emo36ft .a hef="+L231P7LLWRB785e=m6de" c5ass="sref"hrefffffcond_r5sched6eef">="li6e7ex=a"corn78"542304/="35ick" class=7ciOLL78eelec=p" cd Sigss="=Econd_r5sched6eef">="li6e7ee 7-smal7ec5a.a href=5>perrowtiremains|66666666Line" namv35L134"54230Most architerau2L5ref>ect.c#LX: 7fs !ref="7code=p" clf=tackf> ex=po7l_wqu78   Not enough lascteraalue.s>>>>>>>""line" 1* All waiters have already been4regisderli, sr4d23a5p.biu6I/sel st architerau2L5ref>ect.c#LX: 7fcosref">7sal_pendingtruhmp;.a hre7="+co78uemp;.a href="+coSigdelss=>>>>>>>>>""line" 1*edhr4reftablect.cp_qsele/seleMom)="li2e"nexd loop iteratiovt.c#L122" id34 cd Sigss="=ESTAR7:href="fs7select.c/selec5alect.c#L7.4 4 78 hrrr.a href="+coSigdelss=>>>>>>>>>""line" 1*href="+code=__psrex=poll_wqueue7:namv35L17fs/select.c/selec5a23con7_r5L278ram65>ass="="sref_s="|a href="fs/selod_useode=p" clasemainsct.cp"gbs f  clhrRe2_qselede=__psrex=poll_qsele6e" namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=7snamv36L1742"591934/a>>
14 44 stru7t .a 78 hreffdc5o >
14 4 5astackmv35L123"541234/couig>>>>wake./f="+vOouigp"gbca r_polmemcpyrex=poll_wqu7 namv35L179"541994/aizeof!a h4ef="7YSCAL7934 id3.L2"Sig>>>>wawait_useode=p" claswaitse="ct.cp"gbs f  clhrRe2erro>>>wake./a>(.a31erro>n .a hrrriv class="sref">ex=7 eespe>(.74 hrefaf" class="ss="lin7" nap7934 id3.L2" e294/) / 6">ass=1._p>(ssmeo;)"simeo/a>, 0ass=1._p>(ssme./aexpec _ddNULc5_s2/a>kSig>>>>wake./f="+vOU="fs/sele.c#L2L5ick" cl6ft .a hef=7 x=a"corn75me_tet_fi"/a>(f=_useode7p" cl795e=m6de" c5ass="sref"hrefffffffffffff|a href="fs/selcouig>>>>wake./f="+vOouigp"gbl_4" namv35L134"542304TR>614 4463spae c304TRn .a hrrriv class="sref">ex=7 x=a"corn7385>42304/a>", 79eelec=p" cd Sigss="=Econd_r5sched6eef">="li6e7"sref">po7l_wSef">_tmespec _d2ser 7clr"s79"/a>(f="+vOU="fs/select.cthref="fs" href="uig>>>>wake./f="+vOouigp"gbl||/a>Sig>>>>wake./seled42304/a>>
14 44   "seled4230p"gbint">/4 AOpra>(.a31" id37c#Lodea937/5me_tet_fi"/a>(tvOU="fs7selec79 hreffdc5o >
14 4 5ass="6jES"brear hrrriv class="sref">ex=7 cosref">7espec _ddNULc5_alect.c#L7de=s379ect.c#L2L231s class =a~(t4ex7 href="fs715921294/a>>
14 44ef="fs7selec79li6e" namv35L134"542304/a>>614 446419" id4.L12948de=rriv classect.c#L2L5ick7">entdtim7o/a>,>.a hrsp4c242" i75.re/79. Let al_pf">sa() delivfi"/raalue../spa5 id3.LIf4this4f="i2e"firsd loop r4f=we have a "tpec _aa48de=rriv classect.c#L2L5ick7"namv36L17scopy_from=_use4na4 >tim7_tet_79rr, beff">eeememf">sa"/raalue../spa5 id3.L23a5given,"i2en4f="convert/selkseleod r4f=rc>ai2e"li6e48de=rriv classect.c#L2L5ick8+L231POLL8RBAND=hef="+ef"> href="f8/sele8038" 5dmole41994/a>""6a hr46>614 4463ehref="+code=__psrex=poll_wqueue8 iteraalu8../spae="<7f="fs>(struct8.a hr805e=m6de" c5ass="sref"s="line"6namv365236o"562304/href="fs/select.c/selec5rr|t>ntdt>ntd|mv35L123"541234/sa hr"6a r_pollwake.sizia r_polmemcpyrex=poll_wqu8 3teraalu8.85>42304/a>"sal_pending;";)e./a>>= .a expir4/href="fs/selectxpir4se="l_4tv./a>Sig>>>>wa4,srsizi_to_k2304/href="fs/selec4,srsizi_to_k2304./aexwqueues./a>,="+co"562304/href="fs/select.c/selec5rri hrrriv class="sref">ex=8fs/select8ctvoessf)ef="fs/selectf=8aaala80p" clf=tackf> ex=polllllllllla href="fs/seltvl5ss="sr62lass="li6e" namsiziof(fseraalu=0 cROxpir4/href="fs/selectxpir4se=" hrrriv class="sref">ex=8f5/select8c5me_tet_fi"/a>(tvOU="fs8aaaal80 hreffdc5o >
14 4 5ascond_r5sched6eef">="li6e8+6fs/sele8tspec _ddNULc5_alect.c#L8/a>, 80ect.c#L2L231s class =a~(t4ex8+7fs/sele8t5921294/a>>
14 44ef="fs8c#60
80li6e" namv35L134"5423" namv35L123"541234/oid cRchedule .a hred_useode=p" clasehref=chedule .a hred./aexpec _ddNULc5_s2wait_useode=p" claswaitse="o9pec _ddNULc5_s2TASK_04TERRUPTIBLE_useode=p" clasTASK_04TERRUPTIBLEse="o9pec _ddNULc5_s2ssref">poll_wSef">vassss="ced_useode=p" slacKwake./f="+vOU="flacKp"gb.c#L2L5ick" cl6ft .a hef=8+8fs/sele8t/a>,>.a hrsp4c242" i8ommen80> ex=poll_SIGOLLEMASKKKKK,&g "gbs f  clhrRe2seled42304/a>>
14 44   "seled4230p"gbl_41 hrrriv class="sref">ex=8ref">trt.8a>;.ef="+code=rurr3nrurr8nt" c80="+vOU="fs/se68" id5.c/seef">++="line8ref">trt.8a>;.ef="+code=rurr3nees.8ram6581lasssss="line"6namv36L238"5nt .a hr="uig>>>>wake./f="+vOouigp"gb hrrriv class="sref">ex=8 namv35L183"511264/a>>614 4461"++="line8x=a href=8fs/select.c/selec5a23con8_r5L281  Not enough lascteraalue.se8" namv35L838"542304/a>"6a hr461a h8ef="+81amv35#defe=rreraalue../spa#LN_STACK_PPSa hr46        re_STACK_PPSassss((fa>;)s="line"6namv36523tacK_pp>".sizia-c">inue=">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >ti)s= / \ enough lascteraalue.se8"s/select81"542304/a>"6a hr46="fs/8stati81p" clf=tackf> ex=pollllllllll">inue=">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >ti.c#L2L5ick" cl6ft .a hef=8""fs/sele8ake.>sal_pa hdocode=pi#L831" i81c#L2sizimeo class="sref">ex=8L231doc/a8(.a934/5me_tet_fi"/a>(f=8useod81uemp;amv54L2385491284/a>934r_po/id d3code=53.LNULc934r_po/id ./aex">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tireraalue../spa#La>(.a31" id3.L2p" c"=_pollwak,co4 SESi c"="+cod_u294/a>{"n294/a>{"ex=8L7fs/sele8gss="=_pollwak,co4 SESig8s="="81todkf="+;"_tmespec _ddNULc5_s2vROU=poll_wqueuetsvRe294,srsiziof(fswqueues./a>,="+co"562304/href="fs/select.c/selec5rrint">/4 AOpra>(.a31" id38" namv35L835"512304/a>>614 436ass=8comme81. Let r_polmemcpyrex=poll_wqu8wak,co4 S8Sigss="="+cod_useode=p" 8laskS81="+vOU="fs/se">_tmespec _ddNULc5_s2oid cwqueua>" >tirpec _ddNULc5_s2vable_useode=p" clastable >ti hrrriv class="sref">ex=8"sref">po8l_wqueues./a>,="+cod_use8de=p"824 >tiremains|amv54L2385491284/a>er>>>wake./a>(.a31errp"gbl_4" namv35L134"542384/a>>614 446>
14 4  .a hr5f="a href="fs/sel. .ai="uig>>>>wake./f="+vai="uig5f="a href="fs/sel. .le cin=a>;)""ex=8"namv35L18llwake_ddNULc5_pser  cl58s="sr82a hs="li6e" nSTARs.xt iteraalue../spa5Allocate smallmv36L238"s)="li2e"3tacK/selr="l memory r4f=b st architerau2L5ref>ect.c#LX: 8 namv35L288"542304/a>}6>>>>>>>""lfasder -f">="pi;"ect.c#LX: 8srsiziof(8seraalgt;.a hrsp4c242" i85.re/82amv35L123"542304/a>">>>>>>""l="l64 bi5>>>6>shr4f=e" naun0l"line"access3ehref="+code=__psrex=poll_wqueue8p" class=8scopy_from=_use4na4 >tim8_tet_824 >tiremains|pi;"".siz[a r_pollwake./aPOLL_STACK_ALLOC"inue=pi;")]+code=5c" cl63lass="li6e8+L231POLL8RBAND=hef="+ef"> href="f8/sele8t.c/sele6line"">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tirmconsespec _ddNULc5_s2heaid3code=53.LNULcheaip"gbl_4=">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tio4),&g hreffdc5o >ttacK_pp>".siz+code=5c" cl63lass="li6e8+231doc/a86"52230./a>"6a hr362f (!8"fs/s82ck" ="line" n34/52"tirma href="fs/seltwalKwake./f="+vOU="walKn .al_4tv./a>Sig>>>>waheaid3code=53.LNULcheaip"gb+code=5c" cl63lass="li6e8+7fs/sele8../spae="<7f="fs>(struct8.a hr8ftodkf="+;"poll_wSef">vdi6e" namv35L241"542414/n294/a>{", 829x=a">entdtimtackf> e294/) / 6">n294/a>{"ti.c#L2L5ick" cl6ft .a hef=8es="li6e"8namv35L236"531934/a>>61484463e8334 id3.L2">614 4463spae c2I4/a>="sr+code=5c" cl63lass="li6e8 namv35L282"531934/a>>614 4463ehre8="+co83sh4ef="+4orriv class="sref">8enamv35L28/a>Sig>>>>wakegt;.a hrsp8c242"835e=m6de" c5ashref="fs/sel. .le cin=a>;)""(f="+vOU="fsMinode=poee="(f=_useode=p" cla294/a>{"ex=8 rsiziof(8DonESTARt precludf thndl8,8ddi8feelec=p" cd S134"(;;ca r_polmemcpyrex=poll_wqu8 " class=8zi="fs href="fs/gss=refs8="+cl8=p" clf=tackf> ex=polla href="fs/seltwalKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="namv35L241"542414/a>"6a hr46        return .a hrrriv class="sref">ex=8+L231POLL8RBd3.ehINVAc+codES" cime8/a>, 8a hreffdc5o >
14 4 5asa href="fs/seltwalKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2le cin=a>;)""(f="+vOU="fsle cin=a>;)""tim8_tet_8i"/a>(f="+vOU="fs/sele" namv35L123"541234/le cin=a>;)"" href="f8/sele8t.c/sele6line" nam65>(sss=l  cbrear hrrriv class="sref">ex=8 s.Iram6589"542094/a>>614 4s63ss="84 ret83n .a hrehmp;.a href="+coSigd8+ak,co4 S8>>>>ntdtv./a>Sigdelss=>>8>"/a>83 hreffdc5o >
14 4 5astackf> e294/) / 6">tdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>a href="fs/seltwalKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2entria>" >ti n f  clhrRxt iteu294/a>{"{"poll_wSef">vdi6e" =izimeo class="sref">ex=8s/>>>>>>>8>>ntdtv./a>Sig"fs/>>>>wa8e=tac8434 id3.L2"inue=">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >ti.5mspec _ddNULc5_s2walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2le cin=a>;)""="="6in8" nam53.L13541264/a>>61484464f8434 id3.L2"{""6a hr464a hr8f="+c84  Not enough lascteraalue.se8"rsiziof(8a>;.ef="+code=rurr3nrurr8nt" c84.a href="f">sal_pendia r_pollwake./atodsref">poll_wSef">vdi6e" n-amv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2le cin=a>;)""trt.8a>;.ef="+code=rurr3nees.8ram6584"/a>(f="+vOU="fs/select.cmv35L123"541234/sadsref">poll_wSef">vdi6e" c#L2L5ick" cl6ft .a hef=8"L231POLL83"542304/a>>614 446f="fs8selec84 hreffdc5o >
14 4 5ass="6jES"brear hrrriv class="sref">ex=8"cosref">8rt./a>;.a hRESTARTNOHAND8231PO84ect.c#L2L231s class =a~(t4ex8"iteraalu8ue../spa5 id3.L23a5p.biu8pa>;)84li6e" namv35L134"54230ref="fs/sel. .le cin=a>;)""(f="+vOU="fsMine=poee=">>>>a href="fs/selttodsref">poll_wSef">vdi6e" =reraalue../spa#LPOLLFDae clPAGE"ex=8 cl* DonE8TARt  hyof">eeememf">sa 8>>> y84ram65>ass="="sref_s="|a href="fs/selL1294/ent6timeo6a>,&gze >ti |"">inue=">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >ti)l+m">inue=">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >ti.5mspec _ddNULc5_s2le cin=a>;)""sa skeeemeway brytice8t_fik84 hreffdc5o >
14 4 5asa href="fs/seltwalKwake./f="+vOU="walKn .al_4tv./a>Sig>>>>wawalKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="namv35L241"542414/kmalllede=__psrex=pollkmallle>>>>>a href="fs/seltL1294/ent6timeo6a>,&gze >ti=reraalue../spa#LGFP_KERNE6a hr46        rGFP_KERNE64  .i hrrriv class="sref">ex=8narri" id8.L25eeeeeeees.poin7"6c#L835.c#8534 id3.L2"er>>>wake./a>(.a31errp"gbl_4" namv35L134"5423NOMEM>614 4463spae c2NOMEM5f="+code=5c" cl63lass="li6e8.namv35L18>>ntdtv./a>Sig>>>>wakegt8.alec855e=m6de" c5ass="sref"hrefffffgor4f"gbs f  clhrRe2out_294/a>{"="li6e8clf=p" c"8vOU="fs/select.cp"gbs f 8clhre8>ex=a">entdtimcond_r5sched6eef">="li6e8cL231POLL8queueS="=2L5ick"_de=__ps8ram6"85c#L2sizimeo class="sref">ex=8ncosref">8="line"6namv36L134"552308/a>} 8>>>6>614 4463epec _ddNULc5_s2oid cinitwait_useode=p" claseid cinitwait>>>>>siziof(fseraalu=0 cRvable_useode=p" clastable >tii hrrriv class="sref">ex=8niteraalu8t .a href="+code=poll_468/spa585 4  .a hr5L23href="fs/sel. .ai="uig>>>>wake./f="+vai="uig5f="namv35L241"542414/934/id d3code=53.LNULc934/id  >tikf=_useode=p" cla294/a>{"ti hreffdc5o >
14 4 "562304/href="fs/select.c/selec5rri hrrriv class="sref">ex=8s/>>>>>>>8>>ntdtv./a>Sig"fs/>>>>wa8e=tac858 >tiremains||a href="fs/sel/sel_freewait_useode=p" claseid cfreewait>>>>>siziof(fseraalu=0 cRvable_useode=p" clastable >tii hrrriv class="sref">ex=8nak,co4 S85"541284na>>614 4461"8x=a href=8fs/select.c/selec5ec#6138" 5sb86> ex=poll_SIG134"(a href="fs/seltwalKwake./f="+vOU="walKn .al_4proess="sref">_heaid3code=53.LNULcheaip"gb+4tv./a>Sig>>>>wawalKwake./f="+vOU="walKn .a |pec _ddNULc5_s2walKwake./f="+vOU="walKn .alamv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="ca r_polmemcpyrex=poll_wqu8"6namv3668L13541264/a>>614 4464f (8.a e=8634 id3.L2"_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tirma href="fs/selt294/a>{"" >ti hrrriv class="sref">ex=86namv366184"542304/a>"j"ti hrrriv class="sref">ex=86ememcpyI8 i53.LNULc="sr="line"6na8v366286T_SET="sr).sref">:href="fs/s8oe 7-smal8 ar scocallro"=amwe.gi v8de a 86"/a>(f="+vOU="fs/sele134"(a href="fs/seltj"til_4cl54L2385491284/a>j"ti &lcpmv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2le cin=a>;)""ti++ n f  clhrRxt iteu294/a>{"entdtimeo/a>,&g s="sref"sackf> e294/) / 6">__put_(.a31" id3.L2p" c"=_pput_(.a3 >tikf=_useode=p" cl294/a>{"ti]i6e" namv35L238"rev hrs"ti,msiziof(fseraalu=0 cRu294/a>{"ti.c#L2L5ick" cl6ft .a hef=8ecosref">8a hr"6a r_polmemcpyrex=p8ll_wq86"/a>(f="+vOU="fs/seleffffffffffffffffgor4f"gbs f  clhrRe2out_294/a>{"{"="li6e8ref">trt.8a>;.ef="+code=rurr3nt" c8ass="86n .a hrehmp;.a href="+coSigd8onamv36L185"571284na>.spae 6ss=3ef8"fs/s86>>>>>>>>>>ntdtv./a>kSig>>>>wer>>>wake./a>(.a31errp"gbl_4href="fs/sel. .ai="uig>>>>wake./f="+vai="uig5f="+code=5c" cl63lass="li6e8"ca>,"{"<8 hreft.c/select.c#L135f"8ttabl87> ex="gbs f  clhrRe2out_294/a>{">>>>>>>a href="fs/seltwalKwake./f="+vOU="walKn .al_4proess="sref">_heaid3code=53.LNULcheaip"gbct.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="+code=5c" cl63lass="li6e8"namv36618eo/a>,>.a hrsp5334 id8.L53r875e=m6de" c5aswhile (a href="fs/seltwalKwake./f="+vOU="walKn .aca r_polmemcpyrex=poll_wqu8ex=a"corn8 -emo36ft .a hRESTARTNOH8NDL2387eelec=p" cd Sigss="=E">_tmespec _ddNULc5_s2oid clisd_useode=p" clasehreflisd >tirma href="fs/seltpo>"sa8_pend87p" clf=tackf> ex=polla href="fs/seltwalKwake./f="+vOU="walKn .alamv35L241"542414/walKwake./f="+vOU="walKn .act.cp"gbs f  clhrRe2nexd_useode=p" clasnexd5f="+code=5c" cl63lass="li6e8" small a8.sref"> href="fs/select.8/sele87 hreffdc5o >
14 4 5asa href="fs/seltkfreede=__psrex=pollkfree >tikf=_useode=p" clpo>"ex=8Tcosref">8="fs/seleces_="fs/sele5e8ect.c8764  .a hr5L23cond_r5sched6eef">="li6e8" ="line"8namv35L236"571284/a>>
14844 >
87c#LtvROU="fs/select.ctvRe2948 namv35L184"542304/a>>
14 44ef="fs8selec87> ex=poll_SIG"6namv36L238"5nt .a hrer>>>wake./a>(.a31errp"gb hrrriv class="sref">ex=8Tnamv36L18lecf">sal_pendingtrulect8d.c#L87 hrefcond_r5sched6eef">="li6e8seespe>(.8lecf">sal_pendingtrulect8d.c#L8334 idond_r5sched6eef">="li6e8s6namv3668lecf">sal_pendingtrulect8d.c#L8334 iddocode=pi;"tik">_tmespec _ddNULc5_s2sestart4blocKwake./f="+vOU="sestart4blocK >tirma href="fs/seltsestart4blocKwake./f="+vOU="sestart4blocK >tic#L2L5ick" cl6ft .a hef=8ex=a"corn8 -emo36ft .a hef="+L231P8LLWRB885e=m6 r_polmemcpyrex=poll_wqu8ex=a"corn88"542304/="35ick" class=8ciOLL88eelec=p" cd S">_tmespec _ddNULc5_s2oid fid3code=53.LNULcoid fi >tireraalue../spa#La>(.a31" id3.L2p" c"=_pollwak,co4 SESi c"="+cod_u294/a>{"tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"u294/a>{"ex=8ee 7-smal8ec5a.a href=5>perrowtiremains|amv54L2385491284/a>n294/a>{"tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"n294/a>{" ex=po8l_wqu88.c/sele6line"">_tmespec _ddNULc5_s2vROU=poll_wqueuetsvRe294,srsiziof(fswqueues./a>,="+cvl5ss="sr62lass="li6e" namv35L241"542414/a>"6a hr46        return .a hreffdc5o >
14 4 "562304/href="fs/select.c/selec5rr+code=5c" cl63lass="li6e8fcosref">8sal_pendingtruhmp;.a hre8="+co88ck" ="line" namv54L2385491284/a>rl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e8:href="fs8select.c/selec5alect.c#L8.4 4 88c#LtvROU="fs/select.ctvRe2948:namv35L18fs/select.c/selec5a23con8_r5L288ram65>ass="="sackf> e294/) / 6">sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"has .a hred_useode=p" clashas .a hredn .aca r_polmemcpyrex=poll_wqu8snamv36L1842"591934/a>>
14 44 stru8t .a 88 hreffdc5o >
14 4 5asreffdc5o >
14 4 "562304/href="fs/select.c/selec5rri6e" namv35L238"sref">tvausssref">poll_wSef">vauamv35L241"542414/sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"sref">tvausssref">poll_wSef">va+code=5c" cl63lass="li6e8 namv35L189"541994/aizeof!a h4ef="8YSCAL8934 id3.L2"
14 4 "562304/href="fs/select.c/selec5rri6e" namv35L238"sre304/a>>614 446f="fs/c3ass="35iuamv35L241"542414/sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"sre304/a>>614 446f="fs/c3ass="35i+code=5c" cl63lass="li6e8 6namv36684 hrefaf" class="ss="lin8" nap8934 id3.L2",="+cvl5ss="sr62lass="li6e" namsiziof(fseraalu=0 cRO"562304/href="fs/select.c/selec5rr+code=5c" cl63lass="li6e8 x=a"corn85me_tet_fi"/a>(f=_useode8p" cl895e=m6de" c5ascond_r5sched6eef">="li6e8 x=a"corn8385>42304/a>", 89T_SET="sr).sref">:href="fs/s8"sref">po8l_wSef">_tmespec _d2ser 8clr"s89"/a>(f="+vOU=4L2385491284/a>rl_wqueues" crex=ared5f="namv35L241"542414/934r_po/id d3code=53.LNULc934r_po/id ./aex6e" namv35L238"u294/a>{"{"(tvOU="fs8selec89c#L2sizimeo class="sref">ex=8 cosref">8espec _ddNULc5_alect.c#L8de=s389oll_wqueues"2tackf> e294/) / 6">rl_wqueues" crex=ared5f="na_4" namv35L134"542304TR>614 4463spae c304TRn .aca r_polmemcpyrex=poll_wqu8 href="fs815921294/a>>
14 44ef="fs8selec89li6e" namv35L134"5423035L241"542414/sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2f cin=a>;)""(f="+vOU="fsdo_sestart4/id d3code=53.LNULc934sestart4/id  >ti+code=5c" cl63lass="li6e8 namv35L18o/a>,>.a hrsp4c242" i85.re/89ram65>ass="="sref_s="|a href="fs/selrl_wqueues" crex=ared5f="nam" namv35L134"5423RESTART_RESTARTBLOC0oid proect.c#L23RESTART_RESTARTBLOC0 >ti+code=5c" cl63lass="li6e8 namv36L18scopy_from=_use4na4 >tim8_tet_89="+vOU="fs/se68" id5.c/seef">++="line9+L231POLL9RBAND=hef="+ef"> href="f9/sele90lasssss="line"6namv36L238"5nt .a hrrl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e9+1231POLL9R hrefaf" class="ss="lin93f="f90e5#L168" id5.c/seef">++="line9 iteraalu9../spae="<7f="fs>(struct9.a hr90  Not enough lascteraalue.se9 3teraalu9.85>42304/a>"tikf=_useode=p" clpod d3code=53.LNULcoid  >tio934/52"{"(f=_useode=p" cla294/a>{"_tmespec _d2ser 9aaala90p" clf=tackf> ex=pollamv>(f=_useode=p" cl.a hred_mss=4/a>{"tic#L2L5ick" cl6ft .a hef=9f5/select9c5me_tet_fi"/a>(tvOU="fs9aaaal90 href r_polmemcpyrex=poll_wqu9+6fs/sele9tspec _ddNULc5_alect.c#L9/a>, 90ck" ="line" n34/52""6a hr46        return .a hrrriv class="sref">ex=9+7fs/sele9t5921294/a>>
14 44ef="fs9c#60
90li6e" namv35Lamv54L2385491284/a>rl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e9+8fs/sele9t/a>,>.a hrsp4c242" i9ommen90n .a hrehmp;.a href="+coSigd9ref">trt.9a>;.ef="+code=rurr3nrurr9nt" c909x=a">entdtimtackf> e294/) / 6">.a hred_mss=4/a>{"ti|t.cp= 0ca r_polmemcpyrex=poll_wqu9ref">trt.9a>;.ef="+code=rurr3nees.9ram659134 id3.L2"
14 4vl5ss="sr62lass="li6e" namsiziof(fseraalu=0 cRO"562304/href="fs/select.c/selec5rr+code=5c" cl63lass="li6e9 namv35L193"511264/a>>614 4461",="+cehref=ass="f=at .a hred_useode=p" clasehref=ass="f=at .a hred >tikf=_useode=p" clssref">poll_wSef">vassss="ced_useode=p" .a hred_mss=4/a>{"ti|/="ced_useode=p" MSECae clSEC/a>{"{" e294/) / 6">.a hred_mss=4/a>{"ti|t#37+54L2385491284/a>MSECae clSEC/a>{""6a hr461a h9ef="+91eelec=p" cd S68" id5.c/seef">++="line9"s/select91"542304/a>"6a hr46="fs/9stati914L232tackf> ex=poll_do_pc3as9""fs/sele9ake.>sal_pa hdocode=pi#L931" i91.c/sele6line"4L2385491284/a>rl_wqueues" crex=ared5f="namv35L241"542414/934r_po/id d3code=53.LNULc934r_po/id ./aex6e" namv35L238"u294/a>{"{"(f=9useod91ect.c#L2L231s class =a~(t4ex9L7fs/sele9gss="=_pollwak,co4 SESig9s="="91todkf="+;" e294/) / 6">rl_wqueues" crex=ared5f="na_4" namv35L134"542304TR>614 4463spae c304TRn .aca r_polmemcpyrex=poll_wqu9" namv35L935"512304/a>>614 436ass=9comme91ram65>ass="="sref_s="">_tmespec _ddNULc5_s2sestart4blocKwake./f="+vOU="sestart4blocK >tirma href="fs/seltsestart4blocKwake./f="+vOU="sestart4blocK >ti+code=5c" cl63lass="li6e9Lef">trt.9Sigss="="+cod_useode=p" 9laskS91sh4ef="+4orriv class="sref">9"sref">po9l_wqueues./a>,="+cod_use9de=p"9234 id3.L2"
14 4sestart4blocKwake./f="+vOU="sestart4blocK >tiramsiziof(fseraalu=0 cROU="fs/_thread_infa hr"6a r_pollwaOU="fs/_thread_infa./aex)ct.cp"gbs f  clhrRe2restart4blocKwake./f="+vOU="sestart4blocK >ti+code=5c" cl63lass="li6e9"namv35L19llwake_ddNULc5_pser  cl59s="sr9234 id3.L2",="+csestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2f cin=a>;)""(f="+vOU="fsdo_sestart4/id d3code=53.LNULc934sestart4/id  >ti+code=5c" cl63lass="li6e9 namv35L298"542304/a>}6tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"u294/a>{"(f="+vOU="fsu294/a>{"ex=9srsiziof(9seraalgt;.a hrsp4c242" i95.re/92.a href="f">sal_pendia r_pollwake./asestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"n294/a>{"{"tim9_tet_924L232tackf> ex=poll_do_pc3as9+L231POLL9RBAND=hef="+ef"> href="f9/sele92 hreffdc5o >
14 4 5astackf> e294/) / 6">.a hred_mss=4/a>{"ti|t.cp= 0ca r_polmemcpyrex=poll_wqu9+231doc/a96"52230./a>"6a hr362f (!9"fs/s92"/a>(f="+vOU="fs/seleffffffffv35L241"542414/sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"sref">tvausssref">poll_wSef">vanamv35L241"542414/ "562304/href="fs/select.c/selec5rri6e" namv35L238"sref">tvausssref">poll_wSef">va+code=5c" cl63lass="li6e9p7fs/sele9../spae="<7f="fs>(struct9.a hr92.c/sele6line" nam65>(sss=l  cv35L241"542414/sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"sre304/a>>614 446f="fs/c3ass="35inamv35L241"542414/ "562304/href="fs/select.c/selec5rri6e" namv35L238"sre304/a>>614 446f="fs/c3ass="35i+code=5c" cl63lass="li6e9+ namv35L9ass="="sref_opa/f="+cule9eeees92> ex=poll_SIGOLLEMASKKKKK,&g "gbs f  clhrRe2sestart4blocKwake./f="+vOU="sestart4blocK >tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"has .a hred_useode=p" clashas .a hredn .al_41 hrrriv class="sref">ex=9sak,co4 S9RBd3.ehINVAc+codES" cime9/a>, 92 hreffdc5o >
14 4 5as} elsehrrriv class="sref">ex=9es="li6e"9namv35L236"531934/a>>61494463e9334 id3.L2"tict.cp"gbs f  clhrRe2oid d3code=53.LNULcoid  >tii6e" namv35L238"has .a hred_useode=p" clashas .a hredn .al_4clect45elect.c#L56res_="E9 namv35L292"531934/a>>614 4463ehre9="+co93sh4ef="+4orriv class="sref">9enamv35L29/a>Sig>>>>wakegt;.a hrsp9c242"935e=m6de" c5ass="sref"v35L241"542414/se_wqueues" crex=ared5f="nam" namv35L134"5423RESTART_RESTARTBLOC0oid proect.c#L23RESTART_RESTARTBLOC0 >ti+code=5c" cl63lass="li6e9 rsiziof(9DonESTARt precludf thndl9,8ddi93eelec=p" cd S68" id5.c/seef">++="line9 " class=9zi="fs href="fs/gss=refs9="+cl9=p" clf=tackf>"6namv36L238"5nt .a hrrl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e9+L231POLL9RBd3.ehINVAc+codES" cime9/a>, 9a href68" id5.c/seef">++="line9 231doc/a9scopy_from=_use4na4 >tim9_tet_93ect.c#L2L231s class =a~(t4ex9e7fs/sele9RBAND=hef="+ef"> href="f9/sele9t.c/se6L238"5nt .a hrSYSCALL_DEFINE5wqueues" crex=aSYSCALL_DEFINE5 >tikf=_useode=p" clpoid d3code=53.LNULcooid  >tio934/52"{"(f=_useode=p" cla294/a>{">614 4s63ss="94 ret93ram65>ass="="sref_s="">_tmespec _ddNULc5_s2vROU=poll_wqueuetsvRe294,srsiziof(fsf(fseraalu=0 cRa>(.a31" id3.L2p" c"=_pollwak,co4 n f  clhrRxt itetspl_wqueuetsvRe294sp="sr="consespec _ddNULc5_s2="l=at .l_wqueuetsvRe29="l=at .of(fsf(fseraalu=0 cRa>(.a31" id3.L2p" c"=_pollwak,co4 n f  clhrRxt ite="lmasKwake./f="+vOU="f"lmasK="sr= enough lascteraalue.se9 ak,co4 S9>>>>ntdtv./a>Sigdelss=>>9>"/a>93 hreffdc5o >
14 4 5as f  clhrRxt ite="ze .l_wqueuetsvRe29="ze .="sr="eraalue../spa#L="l=atL1294/ent6timeo6a>,&gl=atL129 >tic#L2L5ick" cl6ft .a hef=9s/>>>>>>>9>>ntdtv./a>Sig"fs/>>>>wa9e=tac9434 id r_polmemcpyrex=poll_wqu9">="="6in9" nam53.L13541264/a>>61494464f9435L21>>>>>>>>a href="fs/selt="l=at .l_wqueuetsvRe29="l=at .of(fsf(fseraalu=0 cRk="lmasKwake./f="+vOU="kf"lmasK="sr=>a href="fs/selt="l=aveid3code=53.LNULc="l=avei5f="+code=5c" cl63lass="li6e9 namv35L194"542304/a>"6a hr464a hr9f="+c945e=m6de" c5as">_tmespec _ddNULc5_s2vROU=poll_wqueuetsvRe294,srsiziof(fsf(fseraalu=0 cRrs""6a hr46        return .a hrrriv class="sref">ex=9"rsiziof(9a>;.ef="+code=rurr3nrurr9nt" c94.a href="f">samv54L2385491284/a>rl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e9ref">trt.9a>;.ef="+code=rurr3nees.9ram65944L232tackf> ex=poll_do_pc3as9"L231POLL93"542304/a>>614 446f="fs9selec94 hreffdc5o >
tackf> e294/) / 6">.spl_wqueuetsvRe294sp="srca r_polmemcpyrex=poll_wqu9"cosref">9rt./a>;.a hRESTARTNOHAND9231PO94"/a>(f="+vOU="fs/sele" naf(fseraalu=0 cROdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>siziof(fseraalu=0 cRvs";)s="line"6namv3652vs";)94li6e" namv35L134"5423f=tackf>"6namv3" namv35L134"542384/a>>614 446>
14 4  .a hr5f="+code=5c" cl63lass="li6e9rs.Iram659TARt  hyof">eeememf">sa 9>>> y94n .a hrehmp;.a href="+coSigd9rak,co4 S9f">sa skeeemeway brytice9t_fik94 hreffdc5o >
14 4 5asa href="fs/seltvl5ss="sr62lass="li6e" namsiziof(fseraalu=0 cRO"562304/href="fs/select.c/selec5rr+code=5c" cl63lass="li6e9narri" id9.L25eeeeeeees.poin7"6c#L935.c#9534 id3.L2",="+cehref=ass="f=at .a hred_useode=p" clasehref=ass="f=at .a hred >tikf=_useode=p" clssref">poll_wSef">vassss="ced_useode=p" .s"tvausssref">poll_wSef">vas="ced_useode=p" .s">614 446f="fs/c3ass="35i.c#L2L5ick" cl6ft .a hef=9.xt itera9lue.effdc5de=6ode" 5lasb9class9534 id3.L2">614 4463spae c2I4/a>="sr+code=5c" cl63lass="li6e9.namv35L19>>ntdtv./a>Sig>>>>wakegt9.alec955e=m6de" c5ascond_r5sched6eef">="li6e9uememcpyI9am65>a4 >tiremains||"/ai9gtruc95T_SET="sr).sref">:href="fs/s9clf=p" c"9vOU="fs/select.cp"gbs f 9clhre9>ex=a">entdtimtackf> e294/) / 6">assmasKwake./f="+vOU="f"lmasK="srca r_polmemcpyrex=poll_wqu9cL231POLL9queueS="=2L5ick"_de=__ps9ram6"95 hreffdc5o >
14 4 5asaTARs.xt iteraalue../spa5XXX: D23a5p.biu6Ieclude hand5icg differe.."fa>;d ="l=at .a5p.bs.63ehref="+code=__psrex=poll_wqueue9ncosref">9="line"6namv36L134"552309/a>} 95"/a>(f="+vOU="fs/sele" naf(fseraalu=0 cR="l=atL1294/ent6timeo6a>,&gl=atL129 >ti !="fa>;)s="line"6namv3652="l=at .l_wqueuetsvRe29="l=at .of(f.c#L2L5ick" cl6ft .a hef=9.iteraalu9t .a href="+code=poll_469/spa595li6e" namv35L134"5423f=tackf>"6namv3" namv35L134"5423I4/a>>614 4463spae c2I4/a>="sr+code=5c" cl63lass="li6e9.s.Iram659>>ntdtv./a>Sig"fs/>>>>wa9e=tac95ram65>ass="="sref_s="" naf(fseraalu=0 cROdtv./a>kSig>>>>wake./a>(.a31" id3.L2p"g>>>>>>>>siziof(fseraalu=0 cRk="lmasKwake./f="+vOU="kf"lmasK="sr=>a href="fs/selt="lmasKwake./f="+vOU="f"lmasK="sr="fa>;)s="line"6namv3652k="lmasKwake./f="+vOU="kf"lmasK="sr).c#L2L5ick" cl6ft .a hef=9nak,co4 S95"541284na>>614 4461">614 446>
14 4  .a hr5f="+code=5c" cl63lass="li6e9x=a href=9fs/select.c/selec5ec#6139" 5sb9634 idond_r5sched6eef">="li6e9"6namv3669L13541264/a>>614 4464f (9.a e=9634 id3.L2">>>>siziof(fseraalu=0 cRk="lmasKwake./f="+vOU="kf"lmasK="sr=>a href="fs/selt="lmasKwake./f="+vOU="f"lmasK="sr="line"6namv3652SIGKI"6a hr46        rSIGKI"6="sr)|a href="fs/selt="lmasKwake./f="+vOU="f"lmasK="sr="line"6namv3652SIGSTOPa hr46        rSIGSTOP="sr).+code=5c" cl63lass="li6e9xnamv35L194"542304/a>"++="line9oe 7-smal9 ar scocallro"=amwe.gi v9de a 964L232tackf> ex=poll_do_pc3as9h small a96msLaL122"49="{6rl_wqueues" crex=ared5f="namv35L241"542414/934r_po/id d3code=53.LNULc934r_po/id ./aex6e" namv35L238"u294/a>{"{"9a hr"6a r_polmemcpyrex=p9ll_wq96ect.c#L2L231s class =a~(t4ex9oiteraalu96"56230./a>{"trt.9a>;.ef="+code=rurr3nt" c9ass="96ram65>ass="="sackf> e294/) / 6">se_wqueues" crex=ared5f="na_4" namv35L134"542304TR>614 4463spae c304TRn .aca r_polmemcpyrex=poll_wqu9onamv36L195"571284na>.spae 6ss=3ef9"fs/s96 hreffdc5o >
14 4 5asa4/a>>614 446419" id4.L12948de=rriv classect.c#L2L5ick9"ca>,"{"<9 hreft.c/select.c#L135f"9ttabl9738" 5dmole41994/a>">>>48de=rriv classect.c#L2L5ick9"6namv3669href="fs/select.c/selec59212" 97"line"6namv365236"542304/2>"6a hr46>614 4463e="linass=1. ="li2e"way bacK/selg>>>6nace, befoss="linass=1.>>48de=rriv classect.c#L2L5ick9"namv35L19eo/a>,>.a hrsp5334 id9.L53r97eak="line" namv35L134"54230>>>>>>>>""l4 4463e=masK is4sestossdt.c#L122" id34 cd Sigss="=ESTAR9ex=a"corn9 -emo36ft .a hRESTARTNOH9NDL2397amv35L123"542304/a>">>>>>>""l4 4463ehref="+code=__psrex=poll_wqueue9"e 7-smal9s||a href="fs/selecf">sa9_pend97p" clf=tackf> ex=polltackf> e294/) / 6">assmasKwake./f="+vOU="f"lmasK="srca r_polmemcpyrex=poll_wqu9" small a9.sref"> href="fs/select.9/sele97 hreffdc5o >
14 4 5asle6line"4L2385491284/a>memcpywake./f="+vOU="memcpy>>>>>siziof(fseraalu=0 cROU="fs/>>wake./a>(.a31"U="fs/ >tict.cp"gbs f  clhrRe2=avei_assmasKwake./f="+vOU="favei_assmasK="sr=>siziof(fseraalu=0 cR="l=aveid3code=53.LNULc="l=avei5f="= enough lascteraalue.se9Tcosref">9="fs/seleces_="fs/sele5e9ect.c97"/a>(f="+vOU="fs/selefffffffffffffffffffffffffa>;)s="line"6namv3652="l=aveid3code=53.LNULc="l=avei5f=".i+code=5c" cl63lass_pc3as9" ="line"9namv35L236"571284/a>>
14944 >
97.c/sele6line" nam65>(sss=l  cv35L241"542414/=at sestoss_assmasKwake./f="+vOU="fat sestoss_assmasK>>>>>i+code=5c" cl63lass_pc3as9"ef">trt.94"542304/a>>
14 44ef="fs9selec97ram65>ass="="sref_s="68" id5.c/seef">++="line9Tnamv36L19lecf">sal_pendingtrulect9d.c#L97 hreffdc5o >
14 4 5asa href="fs/seltse_wqueues" crex=ared5f="nam" namv35L134"5423RESTARTNOHANDoid proect.c#L23RESTARTNOHAND5f="+code=5c" cl63lass="li6e9seespe>(.9lecf">sal_pendingtrulect9d.c#L9834 id3.L2" e294/) / 6">assmasKwake./f="+vOU="f"lmasK="srccode=5c" cl63lass="li6e9s6namv3669lecf">sal_pendingtrulect9d.c#L9834 id3.L2""6a hr46        return .ai+code=5c" cl63lass_pc3as9ex=a"corn9 -emo36ft .a hef="+L231P9LLWRB98  Not enough lascteraalue.se9ex=a"corn98"542304/="35ick" class=9ciOLL98eelec=p" cd S4L2385491284/a>rl_wqueues" crex=ared5f="namv35L241"542414/ehref=ass="f" id3remaining_useode=p" clasehref=ass="f" id3remaining>>>>>siziof(fseraalu=0 cRO"562304/href="fs/select.c/selec5rro9eraalue../spa#Ltspl_wqueuetsvRe294sp="sr="0o9eraalue../spa#Lrl_wqueues" crex=ared5f="i+code=5c" cl63lass_pc3as9ee 7-smal9ec5a.a href=5>perrow ex=poll_do_pc3as9fs !ref="9code=p" clf=tackf> ex=po9l_wqu98.c/sele6line""6namv36L238"5nt .a hrrl_wqueues" crex=ared5f="+code=5c" cl63lass="li6e9fcosref">9sal_pendingtruhmp;.a hre9="+co98ck" =68" id5.c/seef">++="line9:href="fs9select.c/selec5alect.c#L9.4 4 98c#Ltv


Tlinorigi=1. LXR softwass=by="lin" id5.c/shttp://sourcefosge.net/proj+="s/lxr">LXR >">si="lby=" id5.c/smailto:lxr@lecux.no">lxr@lecux.no="sri
lxr.lecux.no kindly3hostedlby=" id5.c/shttp://www.ssdpill-lecpro.no">Rsdpill Lecpro AS="sr="provider of Lecux"consulticg r4f=operati="s4rervices4rince 1995.