Changeset e0a4686 in mainline for uspace/lib/c/include/fibril.h
- Timestamp:
- 2018-03-08T18:25:31Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 53ad43c, 615e83d
- Parents:
- fd57cf17
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-06 22:03:11)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-08 18:25:31)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/fibril.h
rfd57cf17 re0a4686 36 36 #define LIBC_FIBRIL_H_ 37 37 38 #include < libarch/fibril.h>38 #include <context.h> 39 39 #include <types/common.h> 40 40 #include <adt/list.h> 41 41 #include <libarch/tls.h> 42 43 #define context_set_generic(c, _pc, stack, size, ptls) \44 do { \45 (c)->pc = (sysarg_t) (_pc); \46 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \47 (c)->tls = (sysarg_t) (ptls); \48 } while (0)49 42 50 43 #define FIBRIL_WRITER 1 … … 86 79 #define fibril_local __thread 87 80 88 extern int context_save(context_t *ctx) __attribute__((returns_twice));89 extern void context_restore(context_t *ctx) __attribute__((noreturn));90 91 81 #define FIBRIL_DFLT_STK_SIZE 0 92 82 93 #define fibril_create(func, arg) \94 fibril_create_generic((func), (arg), FIBRIL_DFLT_STK_SIZE)95 83 extern fid_t fibril_create_generic(errno_t (*func)(void *), void *arg, size_t); 96 84 extern void fibril_destroy(fid_t fid); … … 103 91 extern fid_t fibril_get_id(void); 104 92 93 static inline fid_t fibril_create(errno_t (*func)(void *), void *arg) 94 { 95 return fibril_create_generic(func, arg, FIBRIL_DFLT_STK_SIZE); 96 } 97 105 98 static inline int fibril_yield(void) 106 99 {
Note:
See TracChangeset
for help on using the changeset viewer.