2017.05.21 19:28 "[Tiff] Libtiff 4.0.8 released", by Bob Friesenhahn

2017.07.04 12:20 "Re: [Tiff] A bug in libtiff error/warning handling", by

On 2017-07-04 12:30, Even Rouault wrote:

> p, li { white-space: pre-wrap; }

On mardi 4 juillet 2017 14:04:35 CEST Paavo Helde wrote:

I would like to report what I think is a bug in libtiff error and warning handling. There are two error handlers which can be installed

That's a good point, but I wonder why you would have both error handlers installed? That isn't really expected.

A larger application might use several libraries which might use libtiff. One library migth use one handler, and another library might use the other. Neither would be aware of the other's actions.

In the libraries I maintain, we use a thread-safe RAII wrapper around libtiff to set and unset the handlers on the fly. It's horrible, but it does make this safer. Though it still can't cope with another thread directly setting the handlers behind its back.

I'm wondering if we shouldn't use the HandlerExt on priority over the Handler to avoid the warning/error to be reported twice? What do other devs think?

Why can't Handler delegate to HandlerExt so that there's only ever a single handler irrespective of which call you use? Can't Handler register its own private handler with HandlerExt which strips off the thandle and calls the user-supplied handler? Internally, only the Ext variant need be invoked, with Handler wrapping it transparently.

Regards,
Roger