Hi David.

   Hi, I have just started the task about http backend for the file
   system module, and I would want to discuss a issue.

   If I understand well, RIA is a request for cache a block which be read
   later. The task description suggests libcurl to implement it. However,
   it seems libcurl does not support async downloading. It supports a
   'non-blocking' interface, but it is not quite good for this.

   I have take a look but I do not found a good alternative. So we can
   implement this using threads explicitly, but it requires some effort
   for portability. I think it maybe provided by a new module. Any other
   idea?

As I understand there are at least two alternatives to fix this
problem:

- To provide a new module in the base layer providing
  system-independent threads. The omnitreads abstraction used in
  omniORB is such an example (although it is a C++ class)
  http://omniorb.sourceforge.net/omni40/omnithread.html

- To simply use POSIX threads.  There is a win32-pthreads
  implementation (http://[email protected]) but I am not
  100% sure if it is compatible with GPLv3+. Bruno was interested in
  including that library as a gnulib module, and some concerns about
  licensing appeared.  See
  http://sourceware.org/ml/pthreads-win32/2008/msg00003.html

If win32-pthreads is GPLv3+ compatible I would go for the second
option, since almost any platform is supporting POSIX threads
nowadays, except mingw32.

-- 
Jose E. Marchesi  <[email protected]>
                  http://www.jemarch.net
GNU Project       http://www.gnu.org


Reply via email to