mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	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:
		@@ -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);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user