Ryan Bloom wrote:

Bumping the MMN works for things like Apache, but not for flood,
subversion, or any of the countless other APR-based apps that have
sprung up lately.

I'll agree that changing the typename doesn't solve the problem of
mismatched binary compatibility, but it does make it obvious to the app
author where the interface has changed. The renaming simply gives us
compile-time type-checking.

Maybe APR needs to have its own magic number. Is there a way to
make a version check mandatory, or are we stuck with a voluntary


check?

Versioning has been on the todo list for a long time now.  Perhaps the
apr_time_t change is a good enough reason to add it ASAP.  Then, we can
do the versioning and the apr_time_t change at the same time, and this
problem is solved completely.


That would be an almost ideal solution:
* Keep the apr_time_t name to eliminate the number of code changes required
* Add versioning to prevent a run-time mismatch of new lib and old app


We'd still have the problem of compile-time mismatches: e.g., old
code that does "time / 1000000".  But based on my recent experience
in adding the new time macros in the httpd code, such constructs appear
to be so rare that I'm willing to solve the problem with documentation
rather than code.

--Brian




Reply via email to