version 1.326, 2019/02/03 14:41:28
|
version 1.327, 2019/02/06 14:23:26
|
Line 397 union semun
|
Line 397 union semun
|
# define sem_wait(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_wait(a) ({ int value; sem_getvalue(a, &value); \ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
"waiting at %s() " \ |
"waiting at %s() " \ |
"line #%d\n", (int) getpid(), (unsigned long long) i\ |
"line #%d <%d>\n", (int) getpid(), (unsigned long long) i\ |
pthread_self(), \ |
pthread_self(), \ |
#a, a, __FUNCTION__, __LINE__), fflush(stdout); \ |
#a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \ |
if (value > 1) BUG(1, uprintf("Value %d\n", value)); \ |
|
sem_wait_SysV(a); }) |
sem_wait_SysV(a); }) |
# define sem_post(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_post(a) ({ int value; sem_getvalue(a, &value); \ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
"posting at %s() " \ |
"posting at %s() " \ |
"line #%d\n", (int) getpid(), (unsigned long long) \ |
"line #%d <%d>\n", (int) getpid(), (unsigned long long) \ |
pthread_self(), \ |
pthread_self(), \ |
#a, a, __FUNCTION__, __LINE__), fflush(stdout); \ |
#a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \ |
if (value > 0) BUG(1, uprintf("Value %d\n", value)); \ |
|
sem_post_SysV(a); }) |
sem_post_SysV(a); }) |
# define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \ |
if (value == 0) BUG(1, uprintf("Value %d\n", value)); \ |
if (value == 0) BUG(1, uprintf("Value %d\n", value)); \ |
Line 431 union semun
|
Line 429 union semun
|
# define sem_wait(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_wait(a) ({ int value; sem_getvalue(a, &value); \ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
"waiting at %s() " \ |
"waiting at %s() " \ |
"line #%d\n", (int) getpid(), (unsigned long long) \ |
"line #%d <%d>\n", (int) getpid(), (unsigned long long) \ |
pthread_self(), \ |
pthread_self(), \ |
#a, a, __FUNCTION__, __LINE__), fflush(stdout); \ |
#a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \ |
if (value > 1) BUG(1, uprintf("Value %d\n", value)); sem_wait(a); }) |
sem_wait(a); }) |
# define sem_post(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_post(a) ({ int value; sem_getvalue(a, &value); \ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
uprintf("[%d-%llu] Semaphore %s (%p) "\ |
"posting at %s() " \ |
"posting at %s() " \ |
"line #%d\n", (int) getpid(), (unsigned long long) \ |
"line #%d <%d>\n", (int) getpid(), (unsigned long long) \ |
pthread_self(), \ |
pthread_self(), \ |
#a, a, __FUNCTION__, __LINE__), fflush(stdout); \ |
#a, a, __FUNCTION__, __LINE__, value), fflush(stdout); \ |
if (value > 0) BUG(1, uprintf("Value %d\n", value)); sem_post(a); }) |
sem_post(a); }) |
# define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \ |
# define sem_destroy(a) ({ int value; sem_getvalue(a, &value); \ |
if (value == 0) BUG(1, uprintf("Value %d\n", value)); \ |
if (value == 0) BUG(1, uprintf("Value %d\n", value)); \ |
sem_destroy(a); }) |
sem_destroy(a); }) |