Geir Magnusson Jr. wrote:
Gregory Shimansky wrote:
Hello
Today I've found a bug (HARMONY-2271) which lead down to APR
implementation of getenv function on windows. I've looked at the APR
page and found that there is a new release 1.2.7. In drlvm we still
use 1.2.6.
While the bug which I've found was apparently fixed after 1.2.7 was
released, we still some more patches (1 replaced file on linux, 3 on
windows) for APR in drlvm, some of the patches may be redundant now.
Also some bugs which we still didn't find could be fixed. I know, some
may be added too :). But I prefer to be optimistic. We could at least
try to test APR 1.2.7 and remove patches which are no longer needed or
even outdated.
That sounds like a good plan. Have we ever tried to offer our patches
to APR to get them in main releases?
I've compared the files which we have patched in APR with what APR-1.2.7
has. The changes except for env.c which I've committed today are all in
threading. A lot of things are different in
include/arch/win32/apr_arch_thread_cond.h and locks/win32/thread_cond.c.
I don't know how really correct they are (they could be a source for
threading bugs in drlvm too). I wouldn't try to submit this code without
strong understanding about what is changing and why.
On linux just one line is different from APR-1.2.7. I don't know which
issue caused this patch, and why apr_thread_yield apparently does
nothing on Linux on original APR-1.2.7.
--
Gregory