Index: src/backend/utils/mmgr/portalmem.c
===================================================================
RCS file: /cvsroot/pgsql/src/backend/utils/mmgr/portalmem.c,v
retrieving revision 1.78
diff -c -c -r1.78 portalmem.c
*** src/backend/utils/mmgr/portalmem.c	11 Apr 2005 19:51:15 -0000	1.78
--- src/backend/utils/mmgr/portalmem.c	11 May 2005 18:03:38 -0000
***************
*** 475,486 ****
   *
   * Remove all non-holdable portals created in this transaction.
   * Portals remaining from prior transactions should be left untouched.
-  *
-  * XXX This assumes that portals can be deleted in a random order, ie,
-  * no portal has a reference to any other (at least not one that will be
-  * exercised during deletion).	I think this is okay at the moment, but
-  * we've had bugs of that ilk in the past.  Keep a close eye on cursor
-  * references...
   */
  void
  AtCommit_Portals(void)
--- 475,480 ----
***************
*** 516,521 ****
--- 510,518 ----
  
  		/* Zap all non-holdable portals */
  		PortalDrop(portal, true);
+ 
+ 		/* Restart the iteration */
+ 		hash_seq_init(&status, PortalHashTable);
  	}
  }
  
