Robin Watts wrote: > * LCMS still uses static globals to hold things like the alloc function > pointers, the alarm values, the currently registered plugins etc. I have > spent some time over the past week or so updating my own local copy of > LCMS so that these are held in a 'globals' struct and adding a new layer > of API that allows completely different instances of lcms to be used. > > The code is actually turning out quite nicely, apart from the backward > compatibility requirements. Anyone interested can see the changes to the > version of lcms2 in the middle of the gs source tree here: > > http://git.ghostscript.com/?p=user/robin/ghostpdl.git/.git;a=commitdiff;h=dad10f8a5fa2616625368fa2fbe4fb0bca09e4ea > > The changes are not finished, so treat them with caution, but you should > get a flavour for what I am doing by looking at the APIs. > > Stripping out the backward compatibility requirement and doing an lcms3 > would give a much nicer codebase - but would users of the library be > prepared to accept this?
This would be a nice addition and it would solve a number of issues potentiating thread safety. I am still evaluating how to add something like this. Unfortunately this approach either makes all functions incompatible or doubles the number of API functions. We have talked a little bit on that and for what it seems, it would mean a major version bump. Since many people are still migrating lcms1 --> lcms2, I guess a new lcms3 would be, at least, confusing for many people. Still, I look forward we could find a way to incorporate those changes and keep backwards compatibility, but seems quite hard right now... Regards Marti Maria ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user