- 
Kirill Tkhai authoredThe idea is symilar to kernel's wake_up() and wait_event(). One task needs some event. It checks the event has not happened yet (fle hasn't received, unix peer hasn't bound, etc) and calls get_fds_event(). Other task makes the event (sends a fle, binds the peer to a name, etc) and calls set_fds_event(). So, while there is no an event, the first task is sleeping, and the second wakes it up later: Task A: clear_fds_event(); if (!socket_bound) wait_fds_event(); /* sleep */ Task B: bind_socket(); set_fds_event(); /* wake up */ For the details of using see next patches. v5: Use bit operations. Split clear_fds_event from wait function. v2: Do not wait for foreign transport sock is ready, as it's guarantied by we create it before CR_STATE_FORKING. travis-ci: success for Rework file opening scheme to make it asynchronous (rev5) Signed-off-by:Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com> 735461e1
| Name | Last commit | Last update | 
|---|---|---|
| .. | ||
| arch | ||
| asm-generic | ||
| bitops.h | ||
| bitsperlong.h | ||
| bug.h | ||
| compiler.h | ||
| err.h | ||
| list.h | ||
| lock.h | ||
| page.h | ||
| scm-code.c | ||
| scm.h | ||
| xmalloc.h |