/[cmucl]/src/lisp/FreeBSD-os.c
ViewVC logotype

Diff of /src/lisp/FreeBSD-os.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by moore, Wed Mar 13 08:02:04 2002 UTC revision 1.8 by moore, Tue Aug 27 22:18:30 2002 UTC
# Line 32  Line 32 
32  #include <signal.h>  #include <signal.h>
33  /* #include <sys/sysinfo.h> */  /* #include <sys/sysinfo.h> */
34  #include <sys/proc.h>  #include <sys/proc.h>
35    #include <dlfcn.h>
36  #include "validate.h"  #include "validate.h"
37  vm_size_t os_vm_page_size;  vm_size_t os_vm_page_size;
38    
# Line 206  void os_install_interrupt_handlers(void) Line 207  void os_install_interrupt_handlers(void)
207    interrupt_install_low_level_handler(SIGSEGV, sigsegv_handler);    interrupt_install_low_level_handler(SIGSEGV, sigsegv_handler);
208    interrupt_install_low_level_handler(SIGBUS, sigbus_handler);    interrupt_install_low_level_handler(SIGBUS, sigbus_handler);
209  }  }
210    
211    void *os_dlsym(const char *sym_name, lispobj lib_list)
212    {
213        if (lib_list != NIL) {
214            lispobj lib_list_head;
215    
216            for (lib_list_head = lib_list;
217                 lib_list_head != NIL;
218                 lib_list_head = (CONS(lib_list_head))->cdr) {
219                struct cons *lib_cons = (CONS(lib_list_head))->car;
220                struct sap *dlhandle = (CONS(lib_cons))->car;
221                void *sym_addr = dlsym((void *)dlhandle->pointer, sym_name);
222    
223                if (sym_addr)
224                    return sym_addr;
225            }
226        }
227        return dlsym(RTLD_DEFAULT, sym_name);
228    }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.5