1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-31 17:02:12 +03:00

>> Here is a patch for the beos port (All regression tests are OK).

>>     xlog.c : special case for beos to avoid 'link' which does not work yet
>>     beos/sem.c : implementation of new sem_ctl call (GETPID) and a new
>sem_op
>> flag (IPCNOWAIT)
>>     dynloader/beos.c : add a verification of symbol validity (seem that
the
>> loader sometime return OK with an invalid symbol)
>>     postmaster.c :  add beos forking support for the new checkpoint
process
>>     postgres.c : remove beos special case for getrusage
>>     beos.h : Correction of a bas definition of AF_UNIX, misc defnitions
>>
>>
>>     thanks
>>
>>
>>             cyril

Cyril VELTER
This commit is contained in:
Bruce Momjian
2000-12-18 18:45:05 +00:00
parent 5491233f52
commit 1f159e562b
6 changed files with 110 additions and 25 deletions

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.3 2000/10/07 14:39:11 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/port/dynloader/Attic/beos.c,v 1.4 2000/12/18 18:45:04 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -51,6 +51,11 @@ pg_dlsym(void *handle, char *funcname)
/* Loading symbol */
if(get_image_symbol(*((int*)(handle)),funcname,B_SYMBOL_TYPE_TEXT,(void**)&fpt)==B_OK);
{
/* Sometime the loader return B_OK for an inexistant function with an invalid address !!!
Check that the return address is in the image range */
image_info info;
get_image_info(*((int*)(handle)),&info);
if ((fpt<info.text) || (fpt>=(info.text+info.text_size))) return NULL;
return fpt;
}
elog(NOTICE, "loading symbol '%s' failed ",funcname);