summaryrefslogtreecommitdiffstats
path: root/argp-standalone/argp-fmtstream.h
diff options
context:
space:
mode:
authorRaghavendra G <raghavendra@gluster.com>2009-11-13 16:07:50 +0000
committerAnand V. Avati <avati@dev.gluster.com>2009-11-16 00:41:32 -0800
commitd67322fdfa27746f82fb6e37ffe57efde9bfa021 (patch)
tree3b489c6fee499daca7e7bcb470707124b691d368 /argp-standalone/argp-fmtstream.h
parent63e966d8c466599f84affb55fbedfb39e2a0068f (diff)
transport/ib-verbs: synchronize ib_verbs_recv_completion_proc with ib_verbs_receive so that the former doesn't overwrite the pointer from which latter reads.
- There can be a condition wherein, 1. the thread executing ib_verbs_recv_completion_proc (thr 1) stores the buffer pointer and notifies the upper translators about a POLLIN event. 2. the thread waiting for events on socket (thr 2) calls transport_receive, but in ib_verbs_receive it has not still read the data. 3. thr 1 receives work completion event for another work request and overwrites the buffer pointer. 4. thr 2 reads from the new pointer there by missing the data stored in buffer pointed by pointer which got overwritten. Signed-off-by: Raghavendra G <raghavendra@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 382 (Data can be lost before it is read in ib_verbs_receive.) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=382
Diffstat (limited to 'argp-standalone/argp-fmtstream.h')
0 files changed, 0 insertions, 0 deletions