On Thu, 13 Feb 2014, marti.ma...@littlecms.com wrote:
>
> 1) Any client using THR functions and the lib as shared object
>   is basically broken. if a client sets a listener or plug-in,
>   it got events from any other clients of the .so, with
>   obviously unexpected user data format. This causes segfaults.

These descriptions of static vs shared libraries don't make any sense 
to me.  On the planet I live on, programs using a shared library 
always get private data and there is no sharing of data between 
programs due to using a shared library.  There are platforms (e.g. 
Microsoft Windows) which support DLLs which are really multi-threaded 
servers (shared memory space) under the guise of a library but these 
are not normal DLLs and need to be registered with the OS as a sort of 
server.

I do appreciate the concern about applications which use a 
thread-specific memory allocator (as Ghostscript is apparently doing) 
since then it would then be wrong to for a thread to deallocate a 
pointer allocated by a different thread.  All standard memory 
allocators (i.e. malloc()/free()) assure that memory is deallocated to 
the pool that it came from but of course this requires locking in 
multithreaded programs.

A program can have several lcms transforms going on at once (managed 
by different threads), each of which has an associated team of worker 
threads to speed-up the transform.  This is the expectation in my own 
software.

Regardless, this change seems rather large and removes a central 
premise of lcms2 which was previously advertised to be used.  I will 
have to study my code to see how to continue supporting lcms1, lcms2, 
and now lcms2-2.6+.  There are still many systems in active use which 
have only lcms1.

I strongly recommend against releasing this new version of the library 
until it is proven that existing software can be successfully adapted 
to it.

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

------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to