On 17/05/2011 04:05, Alex Peshkoff wrote:
> In FB2.5 yValve did not need any more MT-safeness except provided by
> atomic counters and some helper locks like hanlers' map RwLock.
> Initially I've planned to keep same approach for FB3. But I did not
> review latest Adriano's changes from this POV.
>
I already show you that 2.5 yvalve is not thread safe. Once more.

How do you expect this code to work concurrently?

--------------
         Statement statement = translate<CStatement>(stmt_handle);

         statement->checkPrepared();
         sqlda_sup::dasup_clause& clause = 
statement->das.dasup_clauses[DASUP_CLAUSE_select];

         if (clause.dasup_info_len && clause.dasup_info_buf)
         {
             iterative_sql_info(    status,
                                 stmt_handle,
                                 sizeof(describe_select_info),
                                 describe_select_info,
                                 clause.dasup_info_len,
                                 clause.dasup_info_buf,
                                 dialect,
                                 sqlda);
         }
--------------

Accessing same memory, extending internal buffers, etc.


Adriano

PS: There is a paper 
(http://www.aristeia.com/Papers/DDJ_Jul_Aug_2004_revised.pdf) from Scott 
Meyers and Andrei Alexandrescu showing even or volatile usage in base 
classes are wrong. Unfortunately it's down.


------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to