diff options
| author | root <root> | 2012-05-01 22:01:40 +0000 | 
|---|---|---|
| committer | root <root> | 2012-05-01 22:01:40 +0000 | 
| commit | 6057940c0ca57e2a9feba9eac38daafae9b89635 (patch) | |
| tree | 3510e762c10269baa7ca22bed50bf96ffb1afaf5 /ev.c | |
| parent | 6b2ac50b05c2fbd0025f2cb5ff1c654bdab8949a (diff) | |
*** empty log message ***
Diffstat (limited to 'ev.c')
| -rw-r--r-- | ev.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| @@ -1846,6 +1846,8 @@ evpipe_init (EV_P)  inline_speed void  evpipe_write (EV_P_ EV_ATOMIC_T *flag)  { +  ECB_MEMORY_FENCE; /* push out the write before this function was called, acquire flag */ +    if (expect_true (*flag))      return; @@ -1914,11 +1916,15 @@ pipecb (EV_P_ ev_io *iow, int revents)    pipe_write_skipped = 0; +  ECB_MEMORY_FENCE; /* push out skipped, acquire flags */ +  #if EV_SIGNAL_ENABLE    if (sig_pending)      {        sig_pending = 0; +      ECB_MEMORY_FENCE_RELEASE; +        for (i = EV_NSIG - 1; i--; )          if (expect_false (signals [i].pending))            ev_feed_signal_event (EV_A_ i + 1); @@ -1930,6 +1936,8 @@ pipecb (EV_P_ ev_io *iow, int revents)      {        async_pending = 0; +      ECB_MEMORY_FENCE_RELEASE; +        for (i = asynccnt; i--; )          if (asyncs [i]->sent)            { | 
