mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 00:01:45 -04:00
Compare commits
2 Commits
85c9dda818
...
03e749c2b8
Author | SHA1 | Date | |
---|---|---|---|
|
03e749c2b8 | ||
|
fb9a16a1a6 |
@ -28,6 +28,7 @@ AC_DEFUN([PGAC_LLVM_SUPPORT],
|
|||||||
if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 4 || ([$]1 == 3 && [$]2 >= 9)) exit 1; else exit 0;}';then
|
if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 4 || ([$]1 == 3 && [$]2 >= 9)) exit 1; else exit 0;}';then
|
||||||
AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required])
|
AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required])
|
||||||
fi
|
fi
|
||||||
|
AC_MSG_NOTICE([using llvm $pgac_llvm_version])
|
||||||
|
|
||||||
# need clang to create some bitcode files
|
# need clang to create some bitcode files
|
||||||
AC_ARG_VAR(CLANG, [path to clang compiler to generate bitcode])
|
AC_ARG_VAR(CLANG, [path to clang compiler to generate bitcode])
|
||||||
|
2
configure
vendored
2
configure
vendored
@ -5077,6 +5077,8 @@ fi
|
|||||||
if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 4 || ($1 == 3 && $2 >= 9)) exit 1; else exit 0;}';then
|
if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 4 || ($1 == 3 && $2 >= 9)) exit 1; else exit 0;}';then
|
||||||
as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required" "$LINENO" 5
|
as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required" "$LINENO" 5
|
||||||
fi
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: using llvm $pgac_llvm_version" >&5
|
||||||
|
$as_echo "$as_me: using llvm $pgac_llvm_version" >&6;}
|
||||||
|
|
||||||
# need clang to create some bitcode files
|
# need clang to create some bitcode files
|
||||||
|
|
||||||
|
@ -920,7 +920,7 @@ dsm_unpin_mapping(dsm_segment *seg)
|
|||||||
void
|
void
|
||||||
dsm_pin_segment(dsm_segment *seg)
|
dsm_pin_segment(dsm_segment *seg)
|
||||||
{
|
{
|
||||||
void *handle;
|
void *handle = NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Bump reference count for this segment in shared memory. This will
|
* Bump reference count for this segment in shared memory. This will
|
||||||
@ -931,7 +931,8 @@ dsm_pin_segment(dsm_segment *seg)
|
|||||||
LWLockAcquire(DynamicSharedMemoryControlLock, LW_EXCLUSIVE);
|
LWLockAcquire(DynamicSharedMemoryControlLock, LW_EXCLUSIVE);
|
||||||
if (dsm_control->item[seg->control_slot].pinned)
|
if (dsm_control->item[seg->control_slot].pinned)
|
||||||
elog(ERROR, "cannot pin a segment that is already pinned");
|
elog(ERROR, "cannot pin a segment that is already pinned");
|
||||||
dsm_impl_pin_segment(seg->handle, seg->impl_private, &handle);
|
if (!is_main_region_dsm_handle(seg->handle))
|
||||||
|
dsm_impl_pin_segment(seg->handle, seg->impl_private, &handle);
|
||||||
dsm_control->item[seg->control_slot].pinned = true;
|
dsm_control->item[seg->control_slot].pinned = true;
|
||||||
dsm_control->item[seg->control_slot].refcnt++;
|
dsm_control->item[seg->control_slot].refcnt++;
|
||||||
dsm_control->item[seg->control_slot].impl_private_pm_handle = handle;
|
dsm_control->item[seg->control_slot].impl_private_pm_handle = handle;
|
||||||
@ -988,8 +989,9 @@ dsm_unpin_segment(dsm_handle handle)
|
|||||||
* releasing the lock, because impl_private_pm_handle may get modified by
|
* releasing the lock, because impl_private_pm_handle may get modified by
|
||||||
* dsm_impl_unpin_segment.
|
* dsm_impl_unpin_segment.
|
||||||
*/
|
*/
|
||||||
dsm_impl_unpin_segment(handle,
|
if (!is_main_region_dsm_handle(handle))
|
||||||
&dsm_control->item[control_slot].impl_private_pm_handle);
|
dsm_impl_unpin_segment(handle,
|
||||||
|
&dsm_control->item[control_slot].impl_private_pm_handle);
|
||||||
|
|
||||||
/* Note that 1 means no references (0 means unused slot). */
|
/* Note that 1 means no references (0 means unused slot). */
|
||||||
if (--dsm_control->item[control_slot].refcnt == 1)
|
if (--dsm_control->item[control_slot].refcnt == 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user