77 *
88 *
99 * IDENTIFICATION
10- * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.1.1.1 1996/07/09 06:21:54 scrappy Exp $
10+ * $Header: /cvsroot/pgsql/src/backend/storage/buffer/bufmgr.c,v 1.2 1996/07/23 05:44:10 scrappy Exp $
1111 *
1212 *-------------------------------------------------------------------------
1313 */
@@ -485,20 +485,23 @@ BufferAlloc(Relation reln,
485485 }
486486}
487487
488+ if (buf != NULL )
489+ {
488490#ifdef HAS_TEST_AND_SET
489- S_UNLOCK (& (buf -> io_in_progress_lock ));
491+ S_UNLOCK (& (buf -> io_in_progress_lock ));
490492#else /* !HAS_TEST_AND_SET */
491- if (buf -> refcount > 1 )
492- SignalIO (buf );
493+ if (buf -> refcount > 1 )
494+ SignalIO (buf );
493495#endif /* !HAS_TEST_AND_SET */
494496
495497/* give up the buffer since we don't need it any more */
496- buf -> refcount -- ;
497- PrivateRefCount [BufferDescriptorGetBuffer (buf )- 1 ]= 0 ;
498- AddBufferToFreelist (buf );
499- buf -> flags |=BM_FREE ;
500- buf -> flags &= ~BM_DIRTY ;
501- buf -> flags &= ~BM_IO_IN_PROGRESS ;
498+ buf -> refcount -- ;
499+ PrivateRefCount [BufferDescriptorGetBuffer (buf )- 1 ]= 0 ;
500+ AddBufferToFreelist (buf );
501+ buf -> flags |=BM_FREE ;
502+ buf -> flags &= ~BM_DIRTY ;
503+ buf -> flags &= ~BM_IO_IN_PROGRESS ;
504+ }
502505
503506SpinRelease (BufMgrLock );
504507
@@ -537,8 +540,8 @@ BufferAlloc(Relation reln,
537540 }
538541
539542/* record the database name and relation name for this buffer */
540- buf -> sb_relname = pstrdup ( reln -> rd_rel -> relname .data );
541- buf -> sb_dbname = pstrdup ( GetDatabaseName ());
543+ strcpy ( buf -> sb_relname , reln -> rd_rel -> relname .data );
544+ strcpy ( buf -> sb_dbname , GetDatabaseName ());
542545
543546/* remember which storage manager is responsible for it */
544547buf -> bufsmgr = reln -> rd_rel -> relsmgr ;
@@ -1248,7 +1251,7 @@ PrintBufferDescs()
12481251elog (NOTICE ,"[%02d] (freeNext=%d, freePrev=%d, relname=%.*s, \
12491252blockNum=%d, flags=0x%x, refcount=%d %d)" ,
12501253i ,buf -> freeNext ,buf -> freePrev ,NAMEDATALEN ,
1251- & ( buf -> sb_relname ) ,buf -> tag .blockNum ,buf -> flags ,
1254+ buf -> sb_relname ,buf -> tag .blockNum ,buf -> flags ,
12521255buf -> refcount ,PrivateRefCount [i ]);
12531256}
12541257SpinRelease (BufMgrLock );
@@ -1273,7 +1276,7 @@ PrintPinnedBufs()
12731276if (PrivateRefCount [i ]> 0 )
12741277elog (NOTICE ,"[%02d] (freeNext=%d, freePrev=%d, relname=%.*s, \
12751278blockNum=%d, flags=0x%x, refcount=%d %d)\n" ,
1276- i ,buf -> freeNext ,buf -> freePrev ,NAMEDATALEN ,& ( buf -> sb_relname ) ,
1279+ i ,buf -> freeNext ,buf -> freePrev ,NAMEDATALEN ,buf -> sb_relname ,
12771280buf -> tag .blockNum ,buf -> flags ,
12781281buf -> refcount ,PrivateRefCount [i ]);
12791282 }