Re: [INTERNALS-WIN] RE: [PHP-DEV] Differences in VC6 and VC9 Windows builds and MSSQL Driver.
| From: | Pierre Joye | Date: | Mon, 05 Jan 2009 20:28:05 +0000 |
| Subject: | Re: [INTERNALS-WIN] RE: [PHP-DEV] Differences in VC6 and VC9 Windows builds and MSSQL Driver. | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.internals.win |
| Request: | Send a blank email to internals-win+get-344@lists.php.net to get a copy of this message | ||
On Mon, Jan 5, 2009 at 9:22 PM, William A. Rowe, Jr.
<wrowe@rowe-clan.net> wrote:
> Pierre Joye wrote:
>> hi!
>>
>> On Mon, Jan 5, 2009 at 8:46 PM, Uwe Schindler <thetaphi@php.net> wrote:
>>
>>> And in windows (which is different to UNIX), it is possible to have more
>>> than one CRT in one single process (because linking in windows is *not* only
>>> dependent on the symbol name, it uses symbol name *AND* dll name for
>>> linking).
>>
>> With the risk to repeat myself: mixing CRT is a bad idea. Whether it
>> works with SWS or not is not really relevant as all the stack has to
>> work (all libs, all deps, etc.). I still think that moving away from
>> VC6 is the way to go and I'm happy to see than Sun is considering VC9
>> :)
>
> In this case, Une is 100% correct. If you are not free()ing what had
> been malloc()ed for you by the other msvcrt consumer, if you are not
> registering clib callbacks with atexit() and family, if you are not
> using FILE* or fd's created in one msvcrt within the other, you
> *should* be 100% safe.
Memory and handles, that makes a pretty high numbers of WTF. I'm not
saying that is not possible, I'm saying that it is a (very) bad idea.
Especially in php with all its dependencies.
Cheers,
--
Pierre
http://blog.thepimp.net | http://www.libgd.org