Reentrant flex

Bojan Smojver bojan at rexursive.com
Mon Nov 21 03:17:37 UTC 2005


Quoting "Michael A. Peters" <mpeters at mac.com>:

> An interest in them does not need to exist, though it helps.
> I for one am very happy when maintainers of code want to maintain their
> packages in Extras - I think it has better odds of quality packaging for
> those who are interested in it.

Cool. I always ship the spec files with my tarballs, so making it 
Fedora Extras friendly makes it even better.

> With respect to reentrat flex - packaging it in /usr/local is not an
> option. Hopefully a solution can be found that meets the packaging
> guidelines. Renaming the conflicting files to something else *might* be
> a workable solution - I'm assuming you can specify which flex you want
> in the Makefile. I don't know if that's the best solution.

Yeah, that's a possibility as well and it should be all that hard (the 
/usr/local hack was a quick fix in my own little world :-). Basically, 
when you use flex to generate the scanner and later link against -lfl 
(or -lfl<whatever>), the package build system would pick the correct 
one. If you have a naming convention in mind, I can attempt building 
the package. Just append -reentrant to everything?

> Is it impossible to use standard flex?

Unfortunately not. The mod_spin module works with Apache 2.x, which 
these days can be a multi-threaded beast (e.g. worker MPM). As such, 
using a scanner that isn't thread safe would impose performance 
penalties due to locking requirements and it would also unnecessarily 
complicate the code (i.e. more bugs), for both of which there is a 
simple solution - reentrant scanner.

-- 
Bojan




More information about the fedora-extras-list mailing list