sysv_print
sysv_print("register to daemon: sock fd = %d\n", daemon_fd);
sysv_print("try get rd lock\n");
sysv_print("get rd lock\n");
sysv_print("error rd lock\n");
sysv_print("end rd lock\n");
sysv_print("try get wr lock\n");
sysv_print("get wr lock\n");
sysv_print("error rw lock\n");
sysv_print("end rw lock\n");
sysv_print("unlock rw lock\n");
sysv_print("shmaddr = %lx\n", (unsigned long)shmaddr);
sysv_print("change msg size\n");
sysv_print("call to msgsnd(%d, %ld, %d)\n", msqid, msgsz, msgflg);
sysv_print("msgsz=%ld, msgssz=%d, segs_needed=%d\n", msgsz, msginfo.msgssz,
sysv_print("msgsz + msg_cbytes > msg_qbytes\n");
sysv_print("segs_needed > nfree_msgmaps (= %d)\n",
sysv_print("no more msghdrs\n");
sysv_print("goodnight\n");
sysv_print("msqptr != &msqpptr->ds");
sysv_print("got all the resources that we need\n");
sysv_print("msg_type = %ld\n", msghdr->msg_type);
sysv_print("index_msghdr = %d\n", _index);
sysv_print("call to msgrcv(%d, %ld, %ld, %d)\n", msqid, msgsz, mtype, msgflg);
sysv_print("found message type %ld, requested %ld\n",
sysv_print("goodnight\n");
sysv_print("msgrcv: good morning (error=%d)\n", errno);
sysv_print("really remove the sem\n");
sysv_print("found a message, msgsz=%zu, msg_ts=%d\n", msgsz,
sysv_print("Mark that the segment was removed\n");
sysv_print(" before rd lock id = %d %p\n", semid, semaptr);
sysv_print("rd lock id = %d\n", semid);
sysv_print("lock id = %d\n", semid);
sysv_print("error sema %d doesn't exist\n", semid);
sysv_print("before wrlock id = %d %p\n", semid, semaptr);
sysv_print("before lock id = %d %x\n", semid, semaptr);
sysv_print("lock id = %d\n", semid);
sysv_print("error sema %d doesn't exist\n", semid);
sysv_print("unlock id = %d %p\n", semid, semaptr);
sysv_print("handle semget\n");
sysv_print("end handle semget %d\n", semid);
sysv_print("semundo clear\n");
sysv_print("end semundo clear\n");
sysv_print("semctl cmd = %d\n", cmd);
sysv_print("end semctl\n");
sysv_print("semundo adjust\n");
sysv_print("get undo segment\n");
sysv_print("need more undo space\n");
sysv_print("semundo adjust end\n");
sysv_print("[client %d] call to semop(%d, %u)\n",
sysv_print("really remove the sem\n");
sysv_print("sema removed\n");
sysv_print("too many sops (max=%d, nsops=%u)\n",
sysv_print("semop: sem[%d]=%d : op=%d, flag=%s\n",
sysv_print("semop: can't do it now\n");
sysv_print("semop: not zero now\n");
sysv_print("semop: rollback 0 through %d\n", i-1);
sysv_print("semop: good night!\n");
sysv_print("semop: good morning (eval=%d)!\n", eval);
sysv_print("semop: good morning!\n");
sysv_print("semop - can't undo undos");
sysv_print("eval = %d from semundo_adjust\n", eval);
sysv_print("semop: done\n");
sysv_print("segment already removed\n");
sysv_print("segment is removed\n");
sysv_print("no access rights has %o and wants %o\n",
void sysv_print(const char *fmt, ...) __printflike(1, 2);