Skip to content
  1. Apr 18, 2016
  2. Oct 06, 2015
  3. Oct 16, 2014
  4. Oct 15, 2014
    • Martyn Russell's avatar
      tracker-extract: Remove the need for fork() and sub-processes with PDF extraction · ec0b37d6
      Martyn Russell authored
      This fuctionality we're removing has been around since
      be58d8da where Philip added code to kill a
      forked process after n seconds for really complex PDFs (or PDFs that take
      longer to process on embedded devices). This was covered under NB#290406.
      
      Later I improved the code to use select() instead of signal handlers due to
      IO blocking in some situations in commit
      9c4e166e and as part of GB#680897.
      
      However, the extra complexity is no longer needed as far as I can tell. There
      was a good reason for the IO blocking in the past and I believe it has been
      fixed by Carlos in one commit or another and with the new GTask and
      _run_in_thread() APIs we have now, it's unnecessary to use this approach. IF
      anything, we should add some timeout or cancellation in the task issuing
      (main?) thread instead of implementing this for each extractor. Currently we
      don't do this though.
      
      As an additional note, this may fix GB#726421.
      
      I've tested this patch with files attached to previous bug reports related,
      including GB#680897 and GB#685378.
      ec0b37d6
  5. Oct 14, 2014
  6. Oct 13, 2014
  7. Oct 02, 2014
  8. May 28, 2014
  9. Mar 15, 2014
  10. Feb 22, 2014
  11. Jan 05, 2014
  12. Jan 04, 2014
  13. Jan 03, 2014
  14. Jan 02, 2014
  15. Dec 03, 2013
    • Carlos Garnacho's avatar
      fts: Strengthen against sqlite failures in FTS functions · 00b71d0f
      Carlos Garnacho authored
      function_weights() and function_property_names() (used respectively by
      SPARQL fts:rank and fts:offsets functions), initialize all data at first
      from the database, so it's available in memory for posterior runs,
      although currently those are being quite optimistic about the database
      return values in several ways, so:
      
      - Ensure no infinite loops happen on sqlite3_step() if the stmt trips
        into some unexpected state. SQLITE_BUSY still does keep looping though.
      
      - As initialization here is a failable task, stop using g_once_init_*
        and use an static GMutex so initialization can be tried later again
        if it failed previously.
      
      - For the cases where initialization failed, propagate the error code
        on the sqlite3_context.
      
      Based on work by Tim Waugh and Michael Catanzaro.
      https://bugzilla.redhat.com/show_bug.cgi?id=1026283
      00b71d0f
  16. Nov 28, 2013
  17. Nov 23, 2013
  18. Nov 22, 2013
  19. Nov 21, 2013
  20. Nov 20, 2013
  21. Nov 13, 2013
  22. Nov 10, 2013
  23. Nov 05, 2013
  24. Nov 03, 2013
  25. Nov 02, 2013