Ensure that the argument of shmdt(2) is declared "void *".

Our gcc-on-Solaris buildfarm members emit "incompatible pointer type"
warnings in places where it's not.  This is a bit odd, since AFAICT
Solaris follows the POSIX spec in declaring shmdt's argument as
"const void *", and you'd think any pointer argument would satisfy that.
But whatever.  Part of a general push to remove off-the-beaten-track
warnings where we can easily do so.
This commit is contained in:
Tom Lane 2022-02-15 17:17:25 -05:00
parent 1f6e0ce3be
commit 4c1a1a347a
1 changed files with 3 additions and 3 deletions

View File

@ -289,7 +289,7 @@ static void
IpcMemoryDetach(int status, Datum shmaddr)
{
/* Detach System V shared memory block. */
if (shmdt(DatumGetPointer(shmaddr)) < 0)
if (shmdt((void *) DatumGetPointer(shmaddr)) < 0)
elog(LOG, "shmdt(%p) failed: %m", DatumGetPointer(shmaddr));
}
@ -323,7 +323,7 @@ PGSharedMemoryIsInUse(unsigned long id1, unsigned long id2)
IpcMemoryState state;
state = PGSharedMemoryAttach((IpcMemoryId) id2, NULL, &memAddress);
if (memAddress && shmdt(memAddress) < 0)
if (memAddress && shmdt((void *) memAddress) < 0)
elog(LOG, "shmdt(%p) failed: %m", memAddress);
switch (state)
{
@ -807,7 +807,7 @@ PGSharedMemoryCreate(Size size,
break;
}
if (oldhdr && shmdt(oldhdr) < 0)
if (oldhdr && shmdt((void *) oldhdr) < 0)
elog(LOG, "shmdt(%p) failed: %m", oldhdr);
}