… | |
… | |
577 | #define ECB_MEMORY_FENCE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad | #StoreStore | #StoreLoad | " : : : "memory") |
577 | #define ECB_MEMORY_FENCE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad | #StoreStore | #StoreLoad | " : : : "memory") |
578 | #define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad" : : : "memory") |
578 | #define ECB_MEMORY_FENCE_ACQUIRE __asm__ __volatile__ ("membar #LoadStore | #LoadLoad" : : : "memory") |
579 | #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("membar #LoadStore | #StoreStore") |
579 | #define ECB_MEMORY_FENCE_RELEASE __asm__ __volatile__ ("membar #LoadStore | #StoreStore") |
580 | #elif defined(__s390__) || defined(__s390x__) |
580 | #elif defined(__s390__) || defined(__s390x__) |
581 | #define ECB_MEMORY_FENCE __asm__ __volatile__ ("bcr 15,0" : : : "memory") |
581 | #define ECB_MEMORY_FENCE __asm__ __volatile__ ("bcr 15,0" : : : "memory") |
|
|
582 | #elif defined(__mips__) |
|
|
583 | #define ECB_MEMORY_FENCE __asm__ __volatile__ ("sync" : : : "memory") |
582 | #endif |
584 | #endif |
583 | #endif |
585 | #endif |
584 | #endif |
586 | #endif |
585 | |
587 | |
586 | #ifndef ECB_MEMORY_FENCE |
588 | #ifndef ECB_MEMORY_FENCE |
… | |
… | |
1871 | /* win32 people keep sending patches that change this write() to send() */ |
1873 | /* win32 people keep sending patches that change this write() to send() */ |
1872 | /* and then run away. but send() is wrong, it wants a socket handle on win32 */ |
1874 | /* and then run away. but send() is wrong, it wants a socket handle on win32 */ |
1873 | /* so when you think this write should be a send instead, please find out */ |
1875 | /* so when you think this write should be a send instead, please find out */ |
1874 | /* where your send() is from - it's definitely not the microsoft send, and */ |
1876 | /* where your send() is from - it's definitely not the microsoft send, and */ |
1875 | /* tell me. thank you. */ |
1877 | /* tell me. thank you. */ |
|
|
1878 | /* it might be that your problem is that your environment needs EV_USE_WSASOCKET */ |
|
|
1879 | /* check the ev documentation on how to use this flag */ |
1876 | write (evpipe [1], &(evpipe [1]), 1); |
1880 | write (evpipe [1], &(evpipe [1]), 1); |
1877 | } |
1881 | } |
1878 | |
1882 | |
1879 | errno = old_errno; |
1883 | errno = old_errno; |
1880 | } |
1884 | } |