1 /*-------------------------------------------------------------------------
4 * Shared temporary file management.
7 * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/storage/sharedfileset.h
12 *-------------------------------------------------------------------------
15 #ifndef SHAREDFILESET_H
16 #define SHAREDFILESET_H
18 #include "storage/dsm.h"
19 #include "storage/fd.h"
20 #include "storage/fileset.h"
21 #include "storage/spin.h"
24 * A set of temporary files that can be shared by multiple backends.
26 typedef struct SharedFileSet
29 slock_t mutex
; /* mutex protecting the reference count */
30 int refcnt
; /* number of attached backends */
33 extern void SharedFileSetInit(SharedFileSet
*fileset
, dsm_segment
*seg
);
34 extern void SharedFileSetAttach(SharedFileSet
*fileset
, dsm_segment
*seg
);
35 extern void SharedFileSetDeleteAll(SharedFileSet
*fileset
);