Date: Sat, 2 Aug 1997 09:37:29 -0700 (PDT) From: livio@csl.sri.com To: freebsd-gnats-submit@FreeBSD.ORG Subject: bin/4216: dlsym returns null Message-ID: <199708021637.JAA00709@hub.freebsd.org> Resent-Message-ID: <199708021640.JAA00801@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 4216 >Category: bin >Synopsis: dlsym returns null >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Aug 2 09:40:01 PDT 1997 >Last-Modified: >Originator: livio ricciulli >Organization: sri International >Release: 2.2-970422-RELENG2.2-970422-RELENG >Environment: FreeBSD hyacinth.csl.sri.com 2.2-970422-RELENG FreeBSD 2.2-970422-RELENG #0: Thu Apr 24 14:29:18 PDT 1997 gilham@hyacinth.csl.sri.com:/usr/src/sys/compile/HYACINTH i386 >Description: dlsym returns null pointer on FreeBSD system while exact same function works on both Linux and SunOs. >How-To-Repeat: here is the culprit.. spawn_thread(thread,path) int thread; char *path; { char *error; threadtable[thread].handle = dlopen (path, 1); if (!threadtable[thread].handle) { fputs (dlerror(), stderr); exit(1); } printf("Spawning thread %d with entry point %s\n",thread,threadtable[thread].argv[0]); threadtable[thread].main_fun=dlsym(threadtable[thread].handle, threadtable[thread].argv[0]); if ((error = dlerror()) != NULL) { fputs(error, stderr); exit(1); } threadtable[thread].main_fun(threadtable[thread].argc, threadtable[thread].argv); } >Fix: I do not know why this does not work.. >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199708021637.JAA00709>