Changeset c721d26 in mainline for uspace/lib/c/include/async.h


Ignore:
Timestamp:
2015-06-16T14:18:22Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
2654afb
Parents:
f7aa7a40
Message:

The async_futex must also be held during FIBRIL_FROM_DEAD.
Add the missing futex_down() to fibril_main() and async_manager().
Add an assert to fibril_switch().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/async.h

    rf7aa7a40 rc721d26  
    108108
    109109#define async_manager() \
    110         fibril_switch(FIBRIL_TO_MANAGER)
     110        do { \
     111                futex_down(&async_futex); \
     112                fibril_switch(FIBRIL_FROM_DEAD); \
     113        } while (0)
    111114
    112115#define async_get_call(data) \
Note: See TracChangeset for help on using the changeset viewer.