3.1 killed a serious problem+question

From: Date: Sat, 29 Aug 1998 00:00:53 +0000
Subject: 3.1 killed a serious problem+question
Groups: php.dev 
Request: Send a blank email to php-dev+get-649@lists.php.net to get a copy of this message
Well, I've killed my first serious thread related issue, or actualy two. This is all of course related to the broken systems I develop on :) The first is that while testing odbc and wsapi, I noticed 3-4 new threads were being created, each calling my dllmain(), which in turn initialized php for each thread. Come to discover, ODBC loads a ton of dll's when you connect to a data source. These dlls in turn start new threads, and since it's in our process space, calls our dllmain. This would actualy be an issue with about any extension that uses other dll's. Anyway, the workaround for that was easy enough. So a lot of overhead saved there. ODBC still loads about 5 dll's each time a connect is made. Workaround is to use persistent connections :). ODBC just flies with the server modules now. The second was my implementation of loading dll's for each thread. I did a lot of rewriting in there, and now have saved a bit of code execution, and got rid of a bunch of exceptions, there as well. I've also implemented a kind of half-assed way of letting dl's be loaded in the ini file, and not throw up all over if dl() function loads the same dll. My fix was to basicly make the functions NOT fail if they discovered the functions were already in the tables (they just don't add them again), and to reduce the error levels to notices. What I would like to know is, is the dl filename saved anywhere that we can check for, if not, is there a quick and easy way to do that? I know we're saving the handle, can we save the filename with the handle? I would rather check on the dl's filename than the functions. That way we could throw up errors if two different dl's are loading functions with the same names. Oh, I also implemented the ability to not have to use dl file extensions in the ini file or the dl() function. Shane -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#649) next »