7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
9
* IDENTIFICATION
10
- * $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.4 2005/06/19 20:00:38 tgl Exp $
10
+ * $PostgreSQL: pgsql/src/backend/access/transam/twophase.c,v 1.5 2005/06/19 21:34:01 tgl Exp $
11
11
*
12
12
* NOTES
13
13
* Each global transaction is associated with a global transaction
@@ -1440,13 +1440,7 @@ PrescanPreparedTransactions(void)
1440
1440
snprintf (dir , MAXPGPATH , "%s/%s" , DataDir , TWOPHASE_DIR );
1441
1441
1442
1442
cldir = AllocateDir (dir );
1443
- if (cldir == NULL )
1444
- ereport (ERROR ,
1445
- (errcode_for_file_access (),
1446
- errmsg ("could not open directory \"%s\": %m" , dir )));
1447
-
1448
- errno = 0 ;
1449
- while ((clde = readdir (cldir )) != NULL )
1443
+ while ((clde = ReadDir (cldir , dir )) != NULL )
1450
1444
{
1451
1445
if (strlen (clde -> d_name ) == 8 &&
1452
1446
strspn (clde -> d_name , "0123456789ABCDEF" ) == 8 )
@@ -1466,7 +1460,6 @@ PrescanPreparedTransactions(void)
1466
1460
(errmsg ("removing future twophase state file \"%s\"" ,
1467
1461
clde -> d_name )));
1468
1462
RemoveTwoPhaseFile (xid , true);
1469
- errno = 0 ;
1470
1463
continue ;
1471
1464
}
1472
1465
@@ -1483,7 +1476,6 @@ PrescanPreparedTransactions(void)
1483
1476
(errmsg ("removing corrupt twophase state file \"%s\"" ,
1484
1477
clde -> d_name )));
1485
1478
RemoveTwoPhaseFile (xid , true);
1486
- errno = 0 ;
1487
1479
continue ;
1488
1480
}
1489
1481
@@ -1496,7 +1488,6 @@ PrescanPreparedTransactions(void)
1496
1488
clde -> d_name )));
1497
1489
RemoveTwoPhaseFile (xid , true);
1498
1490
pfree (buf );
1499
- errno = 0 ;
1500
1491
continue ;
1501
1492
}
1502
1493
@@ -1528,22 +1519,7 @@ PrescanPreparedTransactions(void)
1528
1519
1529
1520
pfree (buf );
1530
1521
}
1531
- errno = 0 ;
1532
1522
}
1533
- #ifdef WIN32
1534
-
1535
- /*
1536
- * This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but
1537
- * not in released version
1538
- */
1539
- if (GetLastError () == ERROR_NO_MORE_FILES )
1540
- errno = 0 ;
1541
- #endif
1542
- if (errno )
1543
- ereport (ERROR ,
1544
- (errcode_for_file_access (),
1545
- errmsg ("could not read directory \"%s\": %m" , dir )));
1546
-
1547
1523
FreeDir (cldir );
1548
1524
1549
1525
return result ;
@@ -1566,13 +1542,7 @@ RecoverPreparedTransactions(void)
1566
1542
snprintf (dir , MAXPGPATH , "%s/%s" , DataDir , TWOPHASE_DIR );
1567
1543
1568
1544
cldir = AllocateDir (dir );
1569
- if (cldir == NULL )
1570
- ereport (ERROR ,
1571
- (errcode_for_file_access (),
1572
- errmsg ("could not open directory \"%s\": %m" , dir )));
1573
-
1574
- errno = 0 ;
1575
- while ((clde = readdir (cldir )) != NULL )
1545
+ while ((clde = ReadDir (cldir , dir )) != NULL )
1576
1546
{
1577
1547
if (strlen (clde -> d_name ) == 8 &&
1578
1548
strspn (clde -> d_name , "0123456789ABCDEF" ) == 8 )
@@ -1594,7 +1564,6 @@ RecoverPreparedTransactions(void)
1594
1564
(errmsg ("removing stale twophase state file \"%s\"" ,
1595
1565
clde -> d_name )));
1596
1566
RemoveTwoPhaseFile (xid , true);
1597
- errno = 0 ;
1598
1567
continue ;
1599
1568
}
1600
1569
@@ -1606,7 +1575,6 @@ RecoverPreparedTransactions(void)
1606
1575
(errmsg ("removing corrupt twophase state file \"%s\"" ,
1607
1576
clde -> d_name )));
1608
1577
RemoveTwoPhaseFile (xid , true);
1609
- errno = 0 ;
1610
1578
continue ;
1611
1579
}
1612
1580
@@ -1655,22 +1623,7 @@ RecoverPreparedTransactions(void)
1655
1623
1656
1624
pfree (buf );
1657
1625
}
1658
- errno = 0 ;
1659
1626
}
1660
- #ifdef WIN32
1661
-
1662
- /*
1663
- * This fix is in mingw cvs (runtime/mingwex/dirent.c rev 1.4), but
1664
- * not in released version
1665
- */
1666
- if (GetLastError () == ERROR_NO_MORE_FILES )
1667
- errno = 0 ;
1668
- #endif
1669
- if (errno )
1670
- ereport (ERROR ,
1671
- (errcode_for_file_access (),
1672
- errmsg ("could not read directory \"%s\": %m" , dir )));
1673
-
1674
1627
FreeDir (cldir );
1675
1628
}
1676
1629
0 commit comments