AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2006.09.22 14:20 "[Tiff] libjpeg", by Philip Watkinson
2006.09.22 14:31 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 15:22 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.22 16:31 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 17:49 "RE: [Tiff] libjpeg", by Philip Watkinson
2006.09.22 17:09 "RE: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 17:25 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.23 00:51 "Re: [Tiff] libjpeg", by Graeme Gill
2006.09.23 01:45 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 15:20 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.22 16:42 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 17:31 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.22 18:09 "Re: [Tiff] libjpeg", by Toby Thain
2006.09.22 18:16 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 19:21 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.22 18:29 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 19:18 "Re: [Tiff] libjpeg", by Joris Van Damme
2006.09.22 20:09 "Re: [Tiff] libjpeg", by Bob Friesenhahn
2006.09.22 20:21 "Re: [Tiff] libjpeg", by Joris Van Damme

2006.09.22 18:29 "Re: [Tiff] libjpeg", by Bob Friesenhahn

So I'm left with two questions

  1. Is the longjmp system really unsafe? I mean nowadays, on most systems, as opposed to being unsafe on one or two systems a decade ago.
  2. If this really is an issue, are exceptions a good alternative? Or do Linux guys not have exceptions? Are exceptions portable?

A possible solution is for libtiff to become aware of operating system semaphores/mutexes and carefully use locks to ensure that the problem APIs are invoked safely.

Libtiff itself is not compiled to ensure thread safety on many platforms since often special compilation flags are required in order to ensure that thread safe interfaces are used. For example, a thread-safe build may use a thread-specific errno (accessed via functions) while the default build may use a simple global integer. This is also a platform dependent issue.

The above is also true for libjpeg and zlib.

Bob
======================================
Bob Friesenhahn
bfriesen@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/