Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/generic/async.c

    r1ea99cc r8619f25  
    107107atomic_t async_futex = FUTEX_INITIALIZER;
    108108
     109/** Number of threads waiting for IPC in the kernel. */
     110atomic_t threads_in_ipc_wait = { 0 };
     111
    109112/** Structures of this type represent a waiting fibril. */
    110113typedef struct {
     
    175178
    176179/** Identifier of the incoming connection handled by the current fibril. */
    177 static fibril_local connection_t *FIBRIL_connection;
     180fibril_local connection_t *FIBRIL_connection;
    178181
    179182static void default_client_connection(ipc_callid_t callid, ipc_call_t *call);
     
    683686               
    684687                futex_up(&async_futex);
     688
     689                atomic_inc(&threads_in_ipc_wait);
    685690               
    686691                ipc_call_t call;
     
    688693                    SYNCH_FLAGS_NONE);
    689694               
     695                atomic_dec(&threads_in_ipc_wait);
     696
    690697                if (!callid) {
    691698                        handle_expired_timeouts();
Note: See TracChangeset for help on using the changeset viewer.