Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163148112
D13538.id36748.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
22 KB
Referenced Files
None
Subscribers
None
D13538.id36748.diff
View Options
Index: contrib/sendmail/include/sm/os/sm_os_freebsd.h
===================================================================
--- contrib/sendmail/include/sm/os/sm_os_freebsd.h
+++ contrib/sendmail/include/sm/os/sm_os_freebsd.h
@@ -34,7 +34,7 @@
# define SM_CONF_SHM 1
#endif /* SM_CONF_SHM */
#ifndef SM_CONF_SEM
-# define SM_CONF_SEM 1
+# define SM_CONF_SEM 2
#endif /* SM_CONF_SEM */
#ifndef SM_CONF_MSG
# define SM_CONF_MSG 1
Index: lib/libc/gen/semctl.c
===================================================================
--- lib/libc/gen/semctl.c
+++ lib/libc/gen/semctl.c
@@ -34,6 +34,7 @@
#ifndef NO_COMPAT7
#define _WANT_SEMUN_OLD
#endif
+#define _WANT_SEMUN
#include <sys/types.h>
#include <sys/ipc.h>
Index: lib/libc/sys/msgctl.2
===================================================================
--- lib/libc/sys/msgctl.2
+++ lib/libc/sys/msgctl.2
@@ -63,8 +63,8 @@
.Bd -literal
struct msqid_ds {
struct ipc_perm msg_perm; /* msg queue permission bits */
- struct msg *msg_first; /* first message in the queue */
- struct msg *msg_last; /* last message in the queue */
+ struct msg *kmsg_first; /* kernel data, don't use */
+ struct msg *kmsg_last; /* kernel data, don't use */
msglen_t msg_cbytes; /* number of bytes in use on the queue */
msgqnum_t msg_qnum; /* number of msgs in the queue */
msglen_t msg_qbytes; /* max # of bytes on the queue */
Index: lib/libc/sys/semctl.2
===================================================================
--- lib/libc/sys/semctl.2
+++ lib/libc/sys/semctl.2
@@ -145,7 +145,7 @@
.Bd -literal
struct semid_ds {
struct ipc_perm sem_perm; /* operation permission struct */
- struct sem *sem_base; /* pointer to first semaphore in set */
+ struct sem *ksem_base; /* kernel data, don't use */
u_short sem_nsems; /* number of sems in set */
time_t sem_otime; /* last operation time */
time_t sem_ctime; /* last change time */
Index: sys/compat/freebsd32/freebsd32_ipc.h
===================================================================
--- sys/compat/freebsd32/freebsd32_ipc.h
+++ sys/compat/freebsd32/freebsd32_ipc.h
@@ -43,7 +43,7 @@
struct semid_ds32 {
struct ipc_perm32 sem_perm;
- uint32_t sem_base;
+ uint32_t ksem_base;
unsigned short sem_nsems;
int32_t sem_otime;
int32_t sem_ctime;
@@ -57,8 +57,8 @@
struct msqid_ds32 {
struct ipc_perm32 msg_perm;
- uint32_t msg_first;
- uint32_t msg_last;
+ uint32_t kmsg_first;
+ uint32_t kmsg_last;
uint32_t msg_cbytes;
uint32_t msg_qnum;
uint32_t msg_qbytes;
@@ -111,7 +111,7 @@
struct semid_ds32_old {
struct ipc_perm32_old sem_perm;
- uint32_t sem_base;
+ uint32_t ksem_base;
unsigned short sem_nsems;
int32_t sem_otime;
int32_t sem_pad1;
@@ -122,8 +122,8 @@
struct msqid_ds32_old {
struct ipc_perm32_old msg_perm;
- uint32_t msg_first;
- uint32_t msg_last;
+ uint32_t kmsg_first;
+ uint32_t kmsg_last;
uint32_t msg_cbytes;
uint32_t msg_qnum;
uint32_t msg_qbytes;
Index: sys/compat/linux/linux_ipc.c
===================================================================
--- sys/compat/linux/linux_ipc.c
+++ sys/compat/linux/linux_ipc.c
@@ -160,8 +160,8 @@
struct l_msqid_ds {
struct l_ipc_perm msg_perm;
- l_uintptr_t msg_first; /* first message on queue,unused */
- l_uintptr_t msg_last; /* last message in queue,unused */
+ l_uintptr_t kmsg_first; /* first message on queue,unused */
+ l_uintptr_t kmsg_last; /* last message in queue,unused */
l_time_t msg_stime; /* last msgsnd time */
l_time_t msg_rtime; /* last msgrcv time */
l_time_t msg_ctime; /* last change time */
@@ -178,7 +178,7 @@
struct l_ipc_perm sem_perm;
l_time_t sem_otime;
l_time_t sem_ctime;
- l_uintptr_t sem_base;
+ l_uintptr_t ksem_base;
l_uintptr_t sem_pending;
l_uintptr_t sem_pending_last;
l_uintptr_t undo;
Index: sys/i386/ibcs2/ibcs2_ipc.h
===================================================================
--- sys/i386/ibcs2/ibcs2_ipc.h
+++ sys/i386/ibcs2/ibcs2_ipc.h
@@ -45,8 +45,8 @@
struct ibcs2_msqid_ds {
struct ibcs2_ipc_perm msg_perm;
- struct msg *msg_first;
- struct msg *msg_last;
+ struct msg *kmsg_first;
+ struct msg *kmsg_last;
u_short msg_cbytes;
u_short msg_qnum;
u_short msg_qbytes;
@@ -59,7 +59,7 @@
struct ibcs2_semid_ds {
struct ibcs2_ipc_perm sem_perm;
- struct ibcs2_sem *sem_base;
+ struct ibcs2_sem *ksem_base;
u_short sem_nsems;
ibcs2_time_t sem_otime;
ibcs2_time_t sem_ctime;
Index: sys/i386/ibcs2/ibcs2_ipc.c
===================================================================
--- sys/i386/ibcs2/ibcs2_ipc.c
+++ sys/i386/ibcs2/ibcs2_ipc.c
@@ -74,8 +74,8 @@
struct ibcs2_msqid_ds *ibp;
{
cvt_perm2iperm(&bp->msg_perm, &ibp->msg_perm);
- ibp->msg_first = bp->msg_first;
- ibp->msg_last = bp->msg_last;
+ ibp->kmsg_first = bp->kmsg_first;
+ ibp->kmsg_last = bp->kmsg_last;
ibp->msg_cbytes = (u_short)bp->msg_cbytes;
ibp->msg_qnum = (u_short)bp->msg_qnum;
ibp->msg_qbytes = (u_short)bp->msg_qbytes;
@@ -93,8 +93,8 @@
struct msqid_ds *bp;
{
cvt_iperm2perm(&ibp->msg_perm, &bp->msg_perm);
- bp->msg_first = ibp->msg_first;
- bp->msg_last = ibp->msg_last;
+ bp->kmsg_first = ibp->kmsg_first;
+ bp->kmsg_last = ibp->kmsg_last;
bp->msg_cbytes = ibp->msg_cbytes;
bp->msg_qnum = ibp->msg_qnum;
bp->msg_qbytes = ibp->msg_qbytes;
@@ -284,7 +284,7 @@
struct ibcs2_semid_ds *ibp;
{
cvt_perm2iperm(&bp->sem_perm, &ibp->sem_perm);
- ibp->sem_base = (struct ibcs2_sem *)bp->sem_base;
+ ibp->ksem_base = (struct ibcs2_sem *)bp->ksem_base;
ibp->sem_nsems = bp->sem_nsems;
ibp->sem_otime = bp->sem_otime;
ibp->sem_ctime = bp->sem_ctime;
@@ -297,7 +297,7 @@
struct semid_ds *bp;
{
cvt_iperm2perm(&ibp->sem_perm, &bp->sem_perm);
- bp->sem_base = (struct sem *)ibp->sem_base;
+ bp->ksem_base = (struct sem *)ibp->ksem_base;
bp->sem_nsems = ibp->sem_nsems;
bp->sem_otime = ibp->sem_otime;
bp->sem_ctime = ibp->sem_ctime;
Index: sys/kern/sysv_msg.c
===================================================================
--- sys/kern/sysv_msg.c
+++ sys/kern/sysv_msg.c
@@ -425,7 +425,7 @@
msqkptr->cred = NULL;
/* Free the message headers */
- msghdr = msqkptr->u.msg_first;
+ msghdr = msqkptr->u.kmsg_first;
while (msghdr != NULL) {
struct msg *msghdr_tmp;
@@ -573,7 +573,7 @@
* thread cannot free a certain msghdr. The msq will get
* into an inconsistent state.
*/
- for (msghdr = msqkptr->u.msg_first; msghdr != NULL;
+ for (msghdr = msqkptr->u.kmsg_first; msghdr != NULL;
msghdr = msghdr->msg_next) {
error = mac_sysvmsq_check_msgrmid(td->td_ucred, msghdr);
if (error != 0)
@@ -731,8 +731,8 @@
msqkptr->cred = crhold(cred);
/* Make sure that the returned msqid is unique */
msqkptr->u.msg_perm.seq = (msqkptr->u.msg_perm.seq + 1) & 0x7fff;
- msqkptr->u.msg_first = NULL;
- msqkptr->u.msg_last = NULL;
+ msqkptr->u.kmsg_first = NULL;
+ msqkptr->u.kmsg_last = NULL;
msqkptr->u.msg_cbytes = 0;
msqkptr->u.msg_qnum = 0;
msqkptr->u.msg_qbytes = msginfo.msgmnb;
@@ -1079,14 +1079,14 @@
/*
* Put the message into the queue
*/
- if (msqkptr->u.msg_first == NULL) {
- msqkptr->u.msg_first = msghdr;
- msqkptr->u.msg_last = msghdr;
+ if (msqkptr->u.kmsg_first == NULL) {
+ msqkptr->u.kmsg_first = msghdr;
+ msqkptr->u.kmsg_last = msghdr;
} else {
- msqkptr->u.msg_last->msg_next = msghdr;
- msqkptr->u.msg_last = msghdr;
+ msqkptr->u.kmsg_last->msg_next = msghdr;
+ msqkptr->u.kmsg_last = msghdr;
}
- msqkptr->u.msg_last->msg_next = NULL;
+ msqkptr->u.kmsg_last->msg_next = NULL;
msqkptr->u.msg_cbytes += msghdr->msg_ts;
msqkptr->u.msg_qnum++;
@@ -1194,7 +1194,7 @@
msghdr = NULL;
while (msghdr == NULL) {
if (msgtyp == 0) {
- msghdr = msqkptr->u.msg_first;
+ msghdr = msqkptr->u.kmsg_first;
if (msghdr != NULL) {
if (msgsz < msghdr->msg_ts &&
(msgflg & MSG_NOERROR) == 0) {
@@ -1210,12 +1210,12 @@
if (error != 0)
goto done2;
#endif
- if (msqkptr->u.msg_first == msqkptr->u.msg_last) {
- msqkptr->u.msg_first = NULL;
- msqkptr->u.msg_last = NULL;
+ if (msqkptr->u.kmsg_first == msqkptr->u.kmsg_last) {
+ msqkptr->u.kmsg_first = NULL;
+ msqkptr->u.kmsg_last = NULL;
} else {
- msqkptr->u.msg_first = msghdr->msg_next;
- if (msqkptr->u.msg_first == NULL)
+ msqkptr->u.kmsg_first = msghdr->msg_next;
+ if (msqkptr->u.kmsg_first == NULL)
panic("msg_first/last screwed up #1");
}
}
@@ -1224,7 +1224,7 @@
struct msg **prev;
previous = NULL;
- prev = &(msqkptr->u.msg_first);
+ prev = &(msqkptr->u.kmsg_first);
while ((msghdr = *prev) != NULL) {
/*
* Is this message's type an exact match or is
@@ -1256,20 +1256,20 @@
goto done2;
#endif
*prev = msghdr->msg_next;
- if (msghdr == msqkptr->u.msg_last) {
+ if (msghdr == msqkptr->u.kmsg_last) {
if (previous == NULL) {
if (prev !=
- &msqkptr->u.msg_first)
- panic("msg_first/last screwed up #2");
- msqkptr->u.msg_first =
+ &msqkptr->u.kmsg_first)
+ panic("kmsg_first/last screwed up #2");
+ msqkptr->u.kmsg_first =
NULL;
- msqkptr->u.msg_last =
+ msqkptr->u.kmsg_last =
NULL;
} else {
if (prev ==
- &msqkptr->u.msg_first)
- panic("msg_first/last screwed up #3");
- msqkptr->u.msg_last =
+ &msqkptr->u.kmsg_first)
+ panic("kmsg_first/last screwed up #3");
+ msqkptr->u.kmsg_last =
previous;
}
}
@@ -1674,8 +1674,8 @@
if (error)
return (error);
freebsd32_ipcperm_old_in(&msqbuf32.msg_perm, &msqbuf.msg_perm);
- PTRIN_CP(msqbuf32, msqbuf, msg_first);
- PTRIN_CP(msqbuf32, msqbuf, msg_last);
+ PTRIN_CP(msqbuf32, msqbuf, kmsg_first);
+ PTRIN_CP(msqbuf32, msqbuf, kmsg_last);
CP(msqbuf32, msqbuf, msg_cbytes);
CP(msqbuf32, msqbuf, msg_qnum);
CP(msqbuf32, msqbuf, msg_qbytes);
@@ -1691,8 +1691,8 @@
if (uap->cmd == IPC_STAT) {
bzero(&msqbuf32, sizeof(msqbuf32));
freebsd32_ipcperm_old_out(&msqbuf.msg_perm, &msqbuf32.msg_perm);
- PTROUT_CP(msqbuf, msqbuf32, msg_first);
- PTROUT_CP(msqbuf, msqbuf32, msg_last);
+ PTROUT_CP(msqbuf, msqbuf32, kmsg_first);
+ PTROUT_CP(msqbuf, msqbuf32, kmsg_last);
CP(msqbuf, msqbuf32, msg_cbytes);
CP(msqbuf, msqbuf32, msg_qnum);
CP(msqbuf, msqbuf32, msg_qbytes);
@@ -1719,8 +1719,8 @@
if (error)
return (error);
freebsd32_ipcperm_in(&msqbuf32.msg_perm, &msqbuf.msg_perm);
- PTRIN_CP(msqbuf32, msqbuf, msg_first);
- PTRIN_CP(msqbuf32, msqbuf, msg_last);
+ PTRIN_CP(msqbuf32, msqbuf, kmsg_first);
+ PTRIN_CP(msqbuf32, msqbuf, kmsg_last);
CP(msqbuf32, msqbuf, msg_cbytes);
CP(msqbuf32, msqbuf, msg_qnum);
CP(msqbuf32, msqbuf, msg_qbytes);
@@ -1735,8 +1735,8 @@
return (error);
if (uap->cmd == IPC_STAT) {
freebsd32_ipcperm_out(&msqbuf.msg_perm, &msqbuf32.msg_perm);
- PTROUT_CP(msqbuf, msqbuf32, msg_first);
- PTROUT_CP(msqbuf, msqbuf32, msg_last);
+ PTROUT_CP(msqbuf, msqbuf32, kmsg_first);
+ PTROUT_CP(msqbuf, msqbuf32, kmsg_last);
CP(msqbuf, msqbuf32, msg_cbytes);
CP(msqbuf, msqbuf32, msg_qnum);
CP(msqbuf, msqbuf32, msg_qbytes);
@@ -1844,8 +1844,8 @@
if (error)
return (error);
ipcperm_old2new(&msqold.msg_perm, &msqbuf.msg_perm);
- CP(msqold, msqbuf, msg_first);
- CP(msqold, msqbuf, msg_last);
+ CP(msqold, msqbuf, kmsg_first);
+ CP(msqold, msqbuf, kmsg_last);
CP(msqold, msqbuf, msg_cbytes);
CP(msqold, msqbuf, msg_qnum);
CP(msqold, msqbuf, msg_qbytes);
@@ -1861,8 +1861,8 @@
if (uap->cmd == IPC_STAT) {
bzero(&msqold, sizeof(msqold));
ipcperm_new2old(&msqbuf.msg_perm, &msqold.msg_perm);
- CP(msqbuf, msqold, msg_first);
- CP(msqbuf, msqold, msg_last);
+ CP(msqbuf, msqold, kmsg_first);
+ CP(msqbuf, msqold, kmsg_last);
CP(msqbuf, msqold, msg_cbytes);
CP(msqbuf, msqold, msg_qnum);
CP(msqbuf, msqold, msg_qbytes);
Index: sys/kern/sysv_sem.c
===================================================================
--- sys/kern/sysv_sem.c
+++ sys/kern/sysv_sem.c
@@ -286,7 +286,7 @@
semu = malloc(seminfo.semmnu * seminfo.semusz, M_SEM, M_WAITOK);
for (i = 0; i < seminfo.semmni; i++) {
- sema[i].u.sem_base = 0;
+ sema[i].u.ksem_base = 0;
sema[i].u.sem_perm.mode = 0;
sema[i].u.sem_perm.seq = 0;
#ifdef MAC
@@ -575,15 +575,15 @@
wakeup(semakptr);
for (i = 0; i < seminfo.semmni; i++) {
if ((sema[i].u.sem_perm.mode & SEM_ALLOC) &&
- sema[i].u.sem_base > semakptr->u.sem_base)
+ sema[i].u.ksem_base > semakptr->u.ksem_base)
mtx_lock_flags(&sema_mtx[i], LOP_DUPOK);
}
- for (i = semakptr->u.sem_base - sem; i < semtot; i++)
+ for (i = semakptr->u.ksem_base - sem; i < semtot; i++)
sem[i] = sem[i + semakptr->u.sem_nsems];
for (i = 0; i < seminfo.semmni; i++) {
if ((sema[i].u.sem_perm.mode & SEM_ALLOC) &&
- sema[i].u.sem_base > semakptr->u.sem_base) {
- sema[i].u.sem_base -= semakptr->u.sem_nsems;
+ sema[i].u.ksem_base > semakptr->u.ksem_base) {
+ sema[i].u.ksem_base -= semakptr->u.sem_nsems;
mtx_unlock(&sema_mtx[i]);
}
}
@@ -801,7 +801,7 @@
error = EINVAL;
goto done2;
}
- *rval = semakptr->u.sem_base[semnum].semncnt;
+ *rval = semakptr->u.ksem_base[semnum].semncnt;
break;
case GETPID:
@@ -813,7 +813,7 @@
error = EINVAL;
goto done2;
}
- *rval = semakptr->u.sem_base[semnum].sempid;
+ *rval = semakptr->u.ksem_base[semnum].sempid;
break;
case GETVAL:
@@ -825,7 +825,7 @@
error = EINVAL;
goto done2;
}
- *rval = semakptr->u.sem_base[semnum].semval;
+ *rval = semakptr->u.ksem_base[semnum].semval;
break;
case GETALL:
@@ -859,7 +859,7 @@
if ((error = ipcperm(td, &semakptr->u.sem_perm, IPC_R)))
goto done2;
for (i = 0; i < semakptr->u.sem_nsems; i++)
- array[i] = semakptr->u.sem_base[i].semval;
+ array[i] = semakptr->u.ksem_base[i].semval;
mtx_unlock(sema_mtxp);
error = copyout(array, arg->array, count * sizeof(*array));
mtx_lock(sema_mtxp);
@@ -874,7 +874,7 @@
error = EINVAL;
goto done2;
}
- *rval = semakptr->u.sem_base[semnum].semzcnt;
+ *rval = semakptr->u.ksem_base[semnum].semzcnt;
break;
case SETVAL:
@@ -890,7 +890,7 @@
error = ERANGE;
goto done2;
}
- semakptr->u.sem_base[semnum].semval = arg->val;
+ semakptr->u.ksem_base[semnum].semval = arg->val;
SEMUNDO_LOCK();
semundo_clear(semidx, semnum);
SEMUNDO_UNLOCK();
@@ -920,7 +920,7 @@
error = ERANGE;
break;
}
- semakptr->u.sem_base[i].semval = usval;
+ semakptr->u.ksem_base[i].semval = usval;
}
SEMUNDO_LOCK();
semundo_clear(semidx, -1);
@@ -1051,16 +1051,16 @@
sema[semid].u.sem_nsems = nsems;
sema[semid].u.sem_otime = 0;
sema[semid].u.sem_ctime = time_second;
- sema[semid].u.sem_base = &sem[semtot];
+ sema[semid].u.ksem_base = &sem[semtot];
semtot += nsems;
- bzero(sema[semid].u.sem_base,
- sizeof(sema[semid].u.sem_base[0])*nsems);
+ bzero(sema[semid].u.ksem_base,
+ sizeof(sema[semid].u.ksem_base[0])*nsems);
#ifdef MAC
mac_sysvsem_create(cred, &sema[semid]);
#endif
mtx_unlock(&sema_mtx[semid]);
DPRINTF(("sembase = %p, next = %p\n",
- sema[semid].u.sem_base, &sem[semtot]));
+ sema[semid].u.ksem_base, &sem[semtot]));
} else {
DPRINTF(("didn't find it and wasn't asked to create it\n"));
error = ENOENT;
@@ -1203,12 +1203,12 @@
for (i = 0; i < nsops; i++) {
sopptr = &sops[i];
- semptr = &semakptr->u.sem_base[sopptr->sem_num];
+ semptr = &semakptr->u.ksem_base[sopptr->sem_num];
DPRINTF((
- "semop: semakptr=%p, sem_base=%p, "
+ "semop: semakptr=%p, ksem_base=%p, "
"semptr=%p, sem[%d]=%d : op=%d, flag=%s\n",
- semakptr, semakptr->u.sem_base, semptr,
+ semakptr, semakptr->u.ksem_base, semptr,
sopptr->sem_num, semptr->semval, sopptr->sem_op,
(sopptr->sem_flg & IPC_NOWAIT) ?
"nowait" : "wait"));
@@ -1250,7 +1250,7 @@
*/
DPRINTF(("semop: rollback 0 through %d\n", i-1));
for (j = 0; j < i; j++)
- semakptr->u.sem_base[sops[j].sem_num].semval -=
+ semakptr->u.ksem_base[sops[j].sem_num].semval -=
sops[j].sem_op;
/* If we detected an error, return it */
@@ -1289,10 +1289,10 @@
/*
* Renew the semaphore's pointer after wakeup since
- * during msleep sem_base may have been modified and semptr
+ * during msleep ksem_base may have been modified and semptr
* is not valid any more
*/
- semptr = &semakptr->u.sem_base[sopptr->sem_num];
+ semptr = &semakptr->u.ksem_base[sopptr->sem_num];
/*
* The semaphore is still alive. Readjust the count of
@@ -1361,7 +1361,7 @@
}
for (j = 0; j < nsops; j++)
- semakptr->u.sem_base[sops[j].sem_num].semval -=
+ semakptr->u.ksem_base[sops[j].sem_num].semval -=
sops[j].sem_op;
DPRINTF(("error = %d from semundo_adjust\n", error));
@@ -1374,7 +1374,7 @@
/* We're definitely done - set the sempid's and time */
for (i = 0; i < nsops; i++) {
sopptr = &sops[i];
- semptr = &semakptr->u.sem_base[sopptr->sem_num];
+ semptr = &semakptr->u.ksem_base[sopptr->sem_num];
semptr->sempid = td->td_proc->p_pid;
}
semakptr->u.sem_otime = time_second;
@@ -1457,13 +1457,13 @@
suptr->un_proc, suptr->un_ent[ix].un_id,
suptr->un_ent[ix].un_num,
suptr->un_ent[ix].un_adjval,
- semakptr->u.sem_base[semnum].semval));
+ semakptr->u.ksem_base[semnum].semval));
- if (adjval < 0 && semakptr->u.sem_base[semnum].semval <
+ if (adjval < 0 && semakptr->u.ksem_base[semnum].semval <
-adjval)
- semakptr->u.sem_base[semnum].semval = 0;
+ semakptr->u.ksem_base[semnum].semval = 0;
else
- semakptr->u.sem_base[semnum].semval += adjval;
+ semakptr->u.ksem_base[semnum].semval += adjval;
wakeup(semakptr);
DPRINTF(("semexit: back from wakeup\n"));
@@ -1764,7 +1764,7 @@
if (error)
return (error);
ipcperm_old2new(&dsold.sem_perm, &dsbuf.sem_perm);
- CP(dsold, dsbuf, sem_base);
+ CP(dsold, dsbuf, ksem_base);
CP(dsold, dsbuf, sem_nsems);
CP(dsold, dsbuf, sem_otime);
CP(dsold, dsbuf, sem_ctime);
@@ -1789,7 +1789,7 @@
case IPC_STAT:
bzero(&dsold, sizeof(dsold));
ipcperm_new2old(&dsbuf.sem_perm, &dsold.sem_perm);
- CP(dsbuf, dsold, sem_base);
+ CP(dsbuf, dsold, ksem_base);
CP(dsbuf, dsold, sem_nsems);
CP(dsbuf, dsold, sem_otime);
CP(dsbuf, dsold, sem_ctime);
@@ -1861,7 +1861,7 @@
if (error)
return (error);
freebsd32_ipcperm_old_in(&dsbuf32.sem_perm, &dsbuf.sem_perm);
- PTRIN_CP(dsbuf32, dsbuf, sem_base);
+ PTRIN_CP(dsbuf32, dsbuf, ksem_base);
CP(dsbuf32, dsbuf, sem_nsems);
CP(dsbuf32, dsbuf, sem_otime);
CP(dsbuf32, dsbuf, sem_ctime);
@@ -1886,7 +1886,7 @@
case IPC_STAT:
bzero(&dsbuf32, sizeof(dsbuf32));
freebsd32_ipcperm_old_out(&dsbuf.sem_perm, &dsbuf32.sem_perm);
- PTROUT_CP(dsbuf, dsbuf32, sem_base);
+ PTROUT_CP(dsbuf, dsbuf32, ksem_base);
CP(dsbuf, dsbuf32, sem_nsems);
CP(dsbuf, dsbuf32, sem_otime);
CP(dsbuf, dsbuf32, sem_ctime);
@@ -1933,7 +1933,7 @@
if (error)
return (error);
freebsd32_ipcperm_in(&dsbuf32.sem_perm, &dsbuf.sem_perm);
- PTRIN_CP(dsbuf32, dsbuf, sem_base);
+ PTRIN_CP(dsbuf32, dsbuf, ksem_base);
CP(dsbuf32, dsbuf, sem_nsems);
CP(dsbuf32, dsbuf, sem_otime);
CP(dsbuf32, dsbuf, sem_ctime);
@@ -1958,7 +1958,7 @@
case IPC_STAT:
bzero(&dsbuf32, sizeof(dsbuf32));
freebsd32_ipcperm_out(&dsbuf.sem_perm, &dsbuf32.sem_perm);
- PTROUT_CP(dsbuf, dsbuf32, sem_base);
+ PTROUT_CP(dsbuf, dsbuf32, ksem_base);
CP(dsbuf, dsbuf32, sem_nsems);
CP(dsbuf, dsbuf32, sem_otime);
CP(dsbuf, dsbuf32, sem_ctime);
Index: sys/sys/msg.h
===================================================================
--- sys/sys/msg.h
+++ sys/sys/msg.h
@@ -63,8 +63,8 @@
defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
struct msqid_ds_old {
struct ipc_perm_old msg_perm; /* msg queue permission bits */
- struct msg *msg_first; /* first message in the queue */
- struct msg *msg_last; /* last message in the queue */
+ struct msg *kmsg_first; /* first message in the queue */
+ struct msg *kmsg_last; /* last message in the queue */
msglen_t msg_cbytes; /* number of bytes in use on the queue */
msgqnum_t msg_qnum; /* number of msgs in the queue */
msglen_t msg_qbytes; /* max # of bytes on the queue */
@@ -88,8 +88,8 @@
struct msqid_ds {
struct ipc_perm msg_perm; /* msg queue permission bits */
- struct msg *msg_first; /* first message in the queue */
- struct msg *msg_last; /* last message in the queue */
+ struct msg *kmsg_first; /* first message in the queue */
+ struct msg *kmsg_last; /* last message in the queue */
msglen_t msg_cbytes; /* number of bytes in use on the queue */
msgqnum_t msg_qnum; /* number of msgs in the queue */
msglen_t msg_qbytes; /* max # of bytes on the queue */
@@ -100,23 +100,6 @@
time_t msg_ctime; /* time of last msgctl() */
};
-#if __BSD_VISIBLE
-/*
- * Structure describing a message. The SVID doesn't suggest any
- * particular name for this structure. There is a reference in the
- * msgop man page that reads "The structure mymsg is an example of what
- * this user defined buffer might look like, and includes the following
- * members:". This sentence is followed by two lines equivalent
- * to the mtype and mtext field declarations below. It isn't clear
- * if "mymsg" refers to the name of the structure type or the name of an
- * instance of the structure...
- */
-struct mymsg {
- long mtype; /* message type (+ve integer) */
- char mtext[1]; /* message body */
-};
-#endif
-
#ifdef _KERNEL
struct msg {
Index: sys/sys/sem.h
===================================================================
--- sys/sys/sem.h
+++ sys/sys/sem.h
@@ -31,7 +31,7 @@
defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
struct semid_ds_old {
struct ipc_perm_old sem_perm; /* operation permission struct */
- struct sem *sem_base; /* pointer to first semaphore in set */
+ struct sem *ksem_base; /* pointer to first semaphore in set */
unsigned short sem_nsems; /* number of sems in set */
time_t sem_otime; /* last operation time */
long sem_pad1; /* SVABI/386 says I need this here */
@@ -45,7 +45,7 @@
struct semid_ds {
struct ipc_perm sem_perm; /* operation permission struct */
- struct sem *sem_base; /* pointer to first semaphore in set */
+ struct sem *ksem_base; /* pointer to first semaphore in set */
unsigned short sem_nsems; /* number of sems in set */
time_t sem_otime; /* last operation time */
time_t sem_ctime; /* last change time */
@@ -73,6 +73,7 @@
};
#endif
+#if defined(_KERNEL) || defined(_WANT_SEMUN)
/*
* semctl's arg parameter structure
*/
@@ -81,6 +82,7 @@
struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
unsigned short *array; /* array for GETALL & SETALL */
};
+#endif
/*
* commands for semctl
Index: usr.bin/svn/lib/libapr/apr.h
===================================================================
--- usr.bin/svn/lib/libapr/apr.h
+++ usr.bin/svn/lib/libapr/apr.h
@@ -261,7 +261,7 @@
#define APR_HAVE_STRSTR 1
#define APR_HAVE_MEMCHR 1
#define APR_HAVE_STRUCT_RLIMIT 1
-#define APR_HAVE_UNION_SEMUN 1
+#define APR_HAVE_UNION_SEMUN 0
#define APR_HAVE_SCTP 1
#define APR_HAVE_IOVEC 1
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Jul 21, 1:00 PM (8 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35317884
Default Alt Text
D13538.id36748.diff (22 KB)
Attached To
Mode
D13538: SysV IPC API cleanup
Attached
Detach File
Event Timeline
Log In to Comment