ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev_linuxaio.c
(Generate patch)

Comparing libev/ev_linuxaio.c (file contents):
Revision 1.15 by root, Mon Jun 24 00:04:26 2019 UTC vs.
Revision 1.16 by root, Mon Jun 24 00:30:24 2019 UTC

246 { 246 {
247 linuxaio_parse_events (EV_A_ ring->io_events + head, ring->nr - head); 247 linuxaio_parse_events (EV_A_ ring->io_events + head, ring->nr - head);
248 linuxaio_parse_events (EV_A_ ring->io_events, tail); 248 linuxaio_parse_events (EV_A_ ring->io_events, tail);
249 } 249 }
250 250
251 /* TODO: we only need a compiler barrier here, not a read fence */
252 ECB_MEMORY_FENCE_RELEASE;
251 /* as an extension to C, we hope that the volatile will makethis atomic and once-only */ 253 /* as an extension to C, we hope that the volatile will make this atomic and once-only */
252 *(volatile unsigned *)&ring->head = tail; 254 *(volatile unsigned *)&ring->head = tail;
253 /* make sure kernel can see our new head value - probably not required */ 255 /* make sure kernel can see our new head value - probably not required */
254 ECB_MEMORY_FENCE_RELEASE; 256 ECB_MEMORY_FENCE_RELEASE;
255 257
256 return 1; 258 return 1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines