diff options
author | alfred <alfred@FreeBSD.org> | 2002-10-07 04:13:21 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2002-10-07 04:13:21 +0000 |
commit | 54633f4bcc0f1945181488e7bfe425df85fbfe89 (patch) | |
tree | b4f73fab3952719cf861a6383553334646e6a9d9 /sys/kern/uipc_sem.c | |
parent | 698acd74a2e29a1a31af7e00eabe094d787c6a5b (diff) | |
download | FreeBSD-src-54633f4bcc0f1945181488e7bfe425df85fbfe89.zip FreeBSD-src-54633f4bcc0f1945181488e7bfe425df85fbfe89.tar.gz |
disable debug output by default.
Diffstat (limited to 'sys/kern/uipc_sem.c')
-rw-r--r-- | sys/kern/uipc_sem.c | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/sys/kern/uipc_sem.c b/sys/kern/uipc_sem.c index 925c0cc..f17c8ac 100644 --- a/sys/kern/uipc_sem.c +++ b/sys/kern/uipc_sem.c @@ -114,13 +114,19 @@ static int nsems = 0; SYSCTL_DECL(_p1003_1b); SYSCTL_INT(_p1003_1b, OID_AUTO, nsems, CTLFLAG_RD, &nsems, 0, ""); +#ifdef SEM_DEBUG +#define DP(x) printf x +#else +#define DP(x) +#endif + static __inline void sem_ref(struct ksem *ks) { ks->ks_ref++; - printf("sem_ref: ks = %p, ref = %d\n", ks, ks->ks_ref); + DP(("sem_ref: ks = %p, ref = %d\n", ks, ks->ks_ref)); } static __inline @@ -128,7 +134,7 @@ void sem_rel(struct ksem *ks) { - printf("sem_rel: ks = %p, ref = %d\n", ks, ks->ks_ref - 1); + DP(("sem_rel: ks = %p, ref = %d\n", ks, ks->ks_ref - 1)); if (--ks->ks_ref == 0) sem_free(ks); } @@ -142,9 +148,9 @@ id_to_sem(id) { struct ksem *ks; - printf("id_to_sem: id = %0x,%p\n", id, (struct ksem *)id); + DP(("id_to_sem: id = %0x,%p\n", id, (struct ksem *)id)); LIST_FOREACH(ks, &ksem_head, ks_entry) { - printf("id_to_sem: ks = %p\n", ks); + DP(("id_to_sem: ks = %p\n", ks)); if (ks == (struct ksem *)id) return (ks); } @@ -177,7 +183,7 @@ sem_create(td, name, ksret, mode, value) size_t len; int error; - printf("sem_create\n"); + DP(("sem_create\n")); p = td->td_proc; uc = p->p_ucred; if (value > SEM_VALUE_MAX) @@ -297,10 +303,10 @@ ksem_open(td, uap) error = copyinstr(uap->name, name, SEM_MAX_NAMELEN + 1, &done); if (error) return (error); - printf(">>> sem_open start\n"); + DP((">>> sem_open start\n")); error = kern_sem_open(td, UIO_USERSPACE, name, uap->oflag, uap->mode, uap->value, uap->idp); - printf("<<< sem_open end\n"); + DP(("<<< sem_open end\n")); return (error); } @@ -348,7 +354,7 @@ kern_sem_open(td, dir, name, oflag, mode, value, idp) return (error); id = SEM_TO_ID(ksnew); if (dir == UIO_USERSPACE) { - printf("about to copyout! %d to %p\n", id, idp); + DP(("about to copyout! %d to %p\n", id, idp)); error = copyout(&id, idp, sizeof(id)); if (error) { mtx_lock(&sem_lock); @@ -358,7 +364,7 @@ kern_sem_open(td, dir, name, oflag, mode, value, idp) return (error); } } else { - printf("about to set! %d to %p\n", id, idp); + DP(("about to set! %d to %p\n", id, idp)); *idp = id; } /* @@ -377,11 +383,11 @@ kern_sem_open(td, dir, name, oflag, mode, value, idp) return (EEXIST); } } else { - printf("sem_create: about to add to list...\n"); + DP(("sem_create: about to add to list...\n")); LIST_INSERT_HEAD(&ksem_head, ksnew, ks_entry); - printf("sem_create: setting list bit...\n"); + DP(("sem_create: setting list bit...\n")); ksnew->ks_onlist = 1; - printf("sem_create: done, about to unlock...\n"); + DP(("sem_create: done, about to unlock...\n")); } mtx_unlock(&sem_lock); } else { @@ -422,9 +428,9 @@ sem_perm(p, ks) struct ucred *uc; uc = p->p_ucred; - printf("sem_perm: uc(%d,%d) ks(%d,%d,%o)\n", + DP(("sem_perm: uc(%d,%d) ks(%d,%d,%o)\n", uc->cr_uid, uc->cr_gid, - ks->ks_uid, ks->ks_gid, ks->ks_mode); + ks->ks_uid, ks->ks_gid, ks->ks_mode)); if ((uc->cr_uid == ks->ks_uid && (ks->ks_mode & S_IWUSR) != 0) || (uc->cr_gid == ks->ks_gid && (ks->ks_mode & S_IWGRP) != 0) || (ks->ks_mode & S_IWOTH) != 0 || suser_cred(uc, 0) == 0) @@ -477,15 +483,15 @@ sem_leave(p, ks) { struct kuser *k; - printf("sem_leave: ks = %p\n", ks); + DP(("sem_leave: ks = %p\n", ks)); k = sem_getuser(p, ks); - printf("sem_leave: ks = %p, k = %p\n", ks, k); + DP(("sem_leave: ks = %p, k = %p\n", ks, k)); if (k != NULL) { LIST_REMOVE(k, ku_next); sem_rel(ks); - printf("sem_leave: about to free k\n"); + DP(("sem_leave: about to free k\n")); free(k, M_SEM); - printf("sem_leave: returning\n"); + DP(("sem_leave: returning\n")); return (0); } return (-1); @@ -547,7 +553,7 @@ kern_sem_unlink(td, name) error = ENOENT; else error = sem_perm(td->td_proc, ks); - printf("sem_unlink: '%s' ks = %p, error = %d\n", name, ks, error); + DP(("sem_unlink: '%s' ks = %p, error = %d\n", name, ks, error)); if (error == 0) { LIST_REMOVE(ks, ks_entry); LIST_INSERT_HEAD(&ksem_deadhead, ks, ks_entry); @@ -671,21 +677,21 @@ kern_sem_wait(td, id, tryflag) struct ksem *ks; int error; - printf(">>> kern_sem_wait entered!\n"); + DP((">>> kern_sem_wait entered!\n")); mtx_lock(&sem_lock); ks = ID_TO_SEM(id); if (ks == NULL) { - printf("kern_sem_wait ks == NULL\n"); + DP(("kern_sem_wait ks == NULL\n")); error = EINVAL; goto err; } sem_ref(ks); if (!sem_hasopen(td->td_proc, ks)) { - printf("kern_sem_wait hasopen failed\n"); + DP(("kern_sem_wait hasopen failed\n")); error = EINVAL; goto err; } - printf("kern_sem_wait value = %d, tryflag %d\n", ks->ks_value, tryflag); + DP(("kern_sem_wait value = %d, tryflag %d\n", ks->ks_value, tryflag)); if (ks->ks_value == 0) { ks->ks_waiters++; error = tryflag ? EAGAIN : cv_wait_sig(&ks->ks_cv, &sem_lock); @@ -699,7 +705,7 @@ err: if (ks != NULL) sem_rel(ks); mtx_unlock(&sem_lock); - printf("<<< kern_sem_wait leaving, error = %d\n", error); + DP(("<<< kern_sem_wait leaving, error = %d\n", error)); return (error); } |