Changeset 3861 for trunk/libc/include/InnoTekLIBC/fork.h
- Timestamp:
- Jun 26, 2014, 2:12:11 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libc/include/InnoTekLIBC/fork.h
r3860 r3861 525 525 * @param pfnCallback Callback function. See __LIBC_PFNFORKCALLBACK for prototype. 526 526 */ 527 #ifdef __WATCOMC__528 # define _FORK_PARENT1(uPriority, pfnCallback) \529 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \530 const __LIBC_FORKCALLBACK * __based(__segname("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback531 532 #elif defined(_MSC_VER)533 # define _FORK_PARENT1(uPriority, pfnCallback) \534 __Pragma(section("forkpar1", read, write)); \535 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \536 const __LIBC_FORKCALLBACK * __declspec(allocate("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback537 538 #else539 # define _FORK_PARENT1(uPriority, pfnCallback) \540 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = \541 { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \542 __asm__ (".stabs \"___fork_parent1__\", 23, 0, 0, ___fork_parent1_" #pfnCallback)543 #endif544 527 545 528 /** @def _FORK_CHILD1 … … 552 535 * @param pfnCallback Callback function. See __LIBC_PFNFORKCALLBACK for prototype. 553 536 */ 554 #ifdef __WATCOMC__ 555 # define _FORK_CHILD1(uPriority, pfnCallback) \ 537 #ifdef __OS2__ 538 # ifdef __WATCOMC__ 539 # define _FORK_PARENT1(uPriority, pfnCallback) \ 540 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \ 541 const __LIBC_FORKCALLBACK * __based(__segname("SET2___fork_parent1__")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback 542 # define _FORK_CHILD1(uPriority, pfnCallback) \ 543 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \ 544 const __LIBC_FORKCALLBACK * __based(__segname("SET2___fork_child1__")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback 545 # else 546 # define _FORK_PARENT1(uPriority, pfnCallback) \ 547 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = \ 548 { pfnCallback, uPriority + (unsigned)(&__fork_parent1_##pfnCallback - &__fork_parent1_##pfnCallback) }; \ 549 __asm__ (".stabs \"___fork_parent1__\", 23, 0, 0, ___fork_parent1_" #pfnCallback) 550 # define _FORK_CHILD1(uPriority, pfnCallback) \ 551 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \ 552 __asm__ (".stabs \"___fork_child1__\", 23, 0, 0, ___fork_child1_" #pfnCallback ) 553 # endif 554 555 #elif defined(__NT__) || defined(__WIN32__) || defined(__WIN64__) 556 # ifdef __WATCOMC__ 557 # define _FORK_PARENT1(uPriority, pfnCallback) \ 558 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \ 559 const __LIBC_FORKCALLBACK * __based(__segname("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback 560 # define _FORK_CHILD1(uPriority, pfnCallback) \ 556 561 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority }; \ 557 562 const __LIBC_FORKCALLBACK * __based(__segname("forkcld1")) __fork_child1_ptr_##pfnCallback = &__fork_child1_##pfnCallback 558 563 559 # elif defined(_MSC_VER)560 # define _FORK_CHILD1(uPriority, pfnCallback) \564 # elif defined(_MSC_VER) 565 # define _FORK_PARENT1(uPriority, pfnCallback) \ 561 566 __Pragma(section("forkpar1", read, write)); \ 567 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_parent1_##pfnCallback = { pfnCallback, uPriority }; \ 568 const __LIBC_FORKCALLBACK * __declspec(allocate("forkpar1")) __fork_parent1_ptr_##pfnCallback = &__fork_parent1_##pfnCallback 569 # define _FORK_CHILD1(uPriority, pfnCallback) \ 570 __Pragma(section("forkcld1", read, write)); \ 562 571 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority }; \ 563 572 const __LIBC_FORKCALLBACK * __declspec(allocate("forkcld1")) __fork_child1_ptr_##pfnCallback = &__fork_child1_##pfnCallback 564 573 574 # else 575 # error "Port me" 576 # endif 565 577 #else 566 # define _FORK_CHILD1(uPriority, pfnCallback) \ 567 static const __LIBC_FORKCALLBACK _FORK_DATA_USED() __fork_child1_##pfnCallback = { pfnCallback, uPriority + (unsigned)(&__fork_child1_##pfnCallback - &__fork_child1_##pfnCallback) }; \ 568 __asm__ (".stabs \"___fork_child1__\", 23, 0, 0, ___fork_child1_" #pfnCallback ) 578 # error "Port me" 569 579 #endif 570 580
Note:
See TracChangeset
for help on using the changeset viewer.