On Son, 2005-01-09 at 20:30, Christophe TROESTLER wrote:
> Hi,
>
> The new Str module not only made it LGPL but also very fast (100% more
> than Pcre in some cases). However it is still not thread safe -- and
> it is not possible given its interface. However, from a quick look,
> it seems to me that what is under the hood is almost thread safe. So
> why not to write a new module (say Regexp) which would be thread safe
> and on top of which Str would be build? This would not be too much
> work, would it?
The Netstring_str module (part of ocamlnet) does it the other way round:
The thread-safe interface is built on top of a potentially unsafe
implementation. Although the current version of Netstring_str uses Pcre
as its implementation, there is a historic version on top of Str. This
other way of layering can be made working because there is the global
master lock protecting the C parts of the regexp engine.
The interface of Netstring_str:
http://ocamlnet.sourceforge.net/manual/refman/Netstring_str.html
Of course, this is not the optimal solution, I would prefer it the way
you suggest.
Gerd
--
------------------------------------------------------------
Gerd Stolpmann * Viktoriastr. 45 * 64293 Darmstadt * Germany
gerd@gerd-stolpmann.de http://www.gerd-stolpmann.de
------------------------------------------------------------