Author: stefan2
Date: Tue Jun 12 13:22:40 2012
New Revision: 1349316
URL: http://svn.apache.org/viewvc?rev=1349316&view=rev
Log:
Fix "unreachable code" warning under Windows. In the for (i=0;i<retries;++i)
loop header, the ++i would never be executed. So, replace the condition and
increment with a target-dependent macro.
* subversion/libsvn_fs_fs/fs_fs.c
(RECOVERABLE_RETRY_COUNT): drop
(RECOVERABLE_RETRY_LOOP): new macro
(read_current, revision_proplist, get_and_increment_txn_key_body):
use the new macro to guard retries
Modified:
subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
Modified: subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c?rev=1349316&r1=1349315&r2=1349316&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c (original)
+++ subversion/trunk/subversion/libsvn_fs_fs/fs_fs.c Tue Jun 12 13:22:40 2012
@@ -1451,8 +1451,6 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
* these macros do not.
*/
-#define RECOVERABLE_RETRY_COUNT 10
-
#ifdef ESTALE
/* Do not use do-while due to the embedded 'continue'. */
#define RETRY_RECOVERABLE(err, filehandle, expr) \
@@ -1481,9 +1479,12 @@ svn_fs_fs__upgrade(svn_fs_t *fs, apr_poo
return svn_error_trace(err); \
} \
} else
+#define RECOVERABLE_RETRY_LOOP \
+ i < RECOVERABLE_RETRY_COUNT; i++
#else
#define RETRY_RECOVERABLE(err, filehandle, expr) SVN_ERR(expr)
#define IGNORE_RECOVERABLE(err, expr) SVN_ERR(expr)
+#define RECOVERABLE_RETRY_LOOP ;
#endif
/* Long enough to hold: "<svn_revnum_t> <node id> <copy id>\0"
@@ -1508,7 +1509,7 @@ read_current(const char *fname, char **b
*buf = apr_palloc(pool, CURRENT_BUF_LEN);
iterpool = svn_pool_create(pool);
- for (i = 0; i < RECOVERABLE_RETRY_COUNT; i++)
+ for (i = 0; RECOVERABLE_RETRY_LOOP)
{
svn_pool_clear(iterpool);
@@ -3206,7 +3207,7 @@ revision_proplist(apr_hash_t **proplist_
proplist = apr_hash_make(pool);
iterpool = svn_pool_create(pool);
- for (i = 0; i < RECOVERABLE_RETRY_COUNT; i++)
+ for (i = 0; RECOVERABLE_RETRY_LOOP)
{
svn_pool_clear(iterpool);
@@ -5038,7 +5039,7 @@ get_and_increment_txn_key_body(void *bat
cb->txn_id = apr_palloc(cb->pool, MAX_KEY_SIZE);
iterpool = svn_pool_create(pool);
- for (i = 0; i < RECOVERABLE_RETRY_COUNT; ++i)
+ for (i = 0; RECOVERABLE_RETRY_LOOP)
{
svn_pool_clear(iterpool);