This commit is contained in:
Jean-Francois Dockes 2017-07-17 15:08:28 +02:00
parent ac270a5b95
commit c9c3158121
4 changed files with 16 additions and 18 deletions

View File

@ -83,7 +83,7 @@ be ignored inside zip archives. This is used directly by
the zip handler, and has a function similar to skippedNames, but works
independantly. Can be redefined for subdirectories. Supported by recoll
1.20 and newer. See
https://bitbucket.org/medoc/recoll/wiki/Filtering%20out%20Zip%20archive%20members
https://www.lesbonscomptes.com/recoll/faqsandhowtos/Filtering%20out%20Zip%20archive%20members
</para></listitem></varlistentry>
<varlistentry id="RCL.INSTALL.CONFIG.RECOLLCONF.FOLLOWLINKS">
<term><varname>followLinks</varname></term>

View File

@ -6,7 +6,7 @@
<!ENTITY RCLVERSION "1.22">
<!ENTITY XAP "<application>Xapian</application>">
<!ENTITY WIN "<application>Windows</application>">
<!ENTITY WIKI "http://bitbucket.org/medoc/recoll/wiki/">
<!ENTITY FAQS "https://www.lesbonscomptes.com/recoll/faqsandhowtos/">
]>
<book lang="en">
@ -985,7 +985,7 @@ thrQSizes = -1 -1 -1
<para>A current pointer to the extension can be found, along with
up-to-date instructions, on the
<ulink url="&WIKI;IndexWebHistory">Recoll wiki</ulink>.</para>
<ulink url="&FAQS;IndexWebHistory">Recoll wiki</ulink>.</para>
<para>A copy of the indexed WEB pages is retained by Recoll in a
local cache (from which previews can be fetched). The cache size can
@ -1186,7 +1186,7 @@ class MetaFixer(object):
metadata as parameter, as an array of '(nm, val)' pairs, allowing
an alternate approach for editing or adding/deleting fields.</para>
<!-- <para> There is a <ulink url="&WIKI;PDFXMP.wiki">complete example of XMP
<!-- <para> There is a <ulink url="&FAQS;PDFXMP.wiki">complete example of XMP
tags setup</ulink>, including a nice result list paragraph format in the
&RCL; Wiki </para> -->
@ -1898,7 +1898,7 @@ MimeType=*/*
your settings). Restarting the search should then display the
thumbnails.</para>
<para>There are also <ulink url="&WIKI;ResultsThumbnails.wiki">some
<para>There are also <ulink url="&FAQS;ResultsThumbnails.wiki">some
pointers about thumbnail generation</ulink> on the &RCL; wiki.
</para>
@ -4002,7 +4002,7 @@ dir:recoll dir:src -dir:utils -dir:common
</listitem>
<listitem>
<para>If you use a recent version of Ubuntu Linux, you may
find the <ulink url="&WIKI;UnityLens">Ubuntu Unity
find the <ulink url="&FAQS;UnityLens">Ubuntu Unity
Lens</ulink> module useful.</para>
</listitem>
<listitem>
@ -4024,7 +4024,7 @@ dir:recoll dir:src -dir:utils -dir:common
Python script, based on the <application>libwnck</application> window
manager interface library, which will allow you to do just
this. The detailed instructions are on
<ulink url="&WIKI;HotRecoll">this wiki page</ulink>.</para>
<ulink url="&FAQS;HotRecoll">this wiki page</ulink>.</para>
</sect2>
@ -4540,7 +4540,7 @@ or
file.</para>
<para>You can also have a look at the
<ulink url="&WIKI;HandleCustomField">example on the Wiki</ulink>,
<ulink url="&FAQS;HandleCustomField">example in the FAQs area</ulink>,
detailing how one could add a <emphasis>page count</emphasis> field
to pdf documents for displaying inside result lists.</para>

View File

@ -108,9 +108,9 @@ control object: the 'WorkQueue'.
The _WorkQueue_ object is implemented by a reasonably simple class, which
manages an input queue on which client append jobs, and a set of worker
threads, which retrieve and perform the jobs, and whose lifetime are
managed by the _WorkQueue_ object. The
https://bitbucket.org/medoc/recoll/src/f06f3aba912045d6ad52e9a0fd930b95e363fd10/src/utils/workqueue.h?at=default[implementation] is straightforward with
*POSIX* threads synchronization functions and C++ *STL* data structures.
managed by the _WorkQueue_ object. The implementation is straightforward
with *POSIX* threads synchronization functions and C++ *STL* data
structures.
In practise it proved quite simple to modify existing code to create a job
object and put it on the queue, instead of calling the downstream routine
@ -175,9 +175,8 @@ Once found, there are mostly three types of static/global data:
to protect the access with a mutex lock. It is trivial to encapsulate
the locks in C++ objects to use the "Resource Acquisition is
Initialization" idiom, easily making sure that locks are freed when
exiting the critical section. A very basic
https://bitbucket.org/medoc/recoll/src/f06f3aba9120/src/utils/ptmutex.h?at=default[example of implementation]
can be found in the *Recoll* source code.
exiting the critical section. Recoll used to include a basic home-made
implementation, but now lets C++11 work for it.
* Things which can stay: this is mostly initialization data such as value
tables which are computed once, and then stay logically constant during
program execution. In order to be sure of a correct single-threaded
@ -377,9 +376,8 @@ configuration structure. This belonged to the thread which initially
created the filter. But the filter would often be reused by a different
thread, with the consequence that the configuration object was now accessed
and modified by two unsynchronized threads... Resetting the config pointer
at the time of filter reuse was the
https://bitbucket.org/medoc/recoll/commits/943de4b78818079b0eb6ffd0fcbdfdd0746b4a40[ridiculously
simple (almost)single-line fix] to this evasive problem.
at the time of filter reuse was a very simple (almost)single-line fix to
this evasive problem.
Looking at multi-threaded stack dumps is mostly fun for people with several
heads, which is unfortunately not my case, so I was quite elated when this

View File

@ -3,7 +3,7 @@ Jean-Francois Dockes <jf at dockes.org>
:date:
:recollversion: 1.23.0-2017-01-07-78b8ad
:windir: downwin-f9b49
:windir: downwin-c9d48
image:recoll-windows10-thumb.png[link="recoll-windows10.png"]