greenplumn CAutoExceptionStack 源码

  • 2022-08-18
  • 浏览 (355)

greenplumn CAutoExceptionStack 代码

文件路径:/src/backend/gporca/libgpos/include/gpos/error/CAutoExceptionStack.h

//---------------------------------------------------------------------------
//	Greenplum Database
//	Copyright (C) 2012 EMC Corp.
//
//	@filename:
//		CAutoExceptionStack.h
//
//	@doc:
//		Auto object for saving and restoring exception stack
//
//	@owner:
//		elhela
//
//	@test:
//
//
//---------------------------------------------------------------------------
#ifndef GPOS_CAutoExceptionStack_H
#define GPOS_CAutoExceptionStack_H

#include "gpos/base.h"
#include "gpos/common/CStackObject.h"

namespace gpos
{
//---------------------------------------------------------------------------
//	@class:
//		CAutoExceptionStack
//
//	@doc:
//		Auto object for saving and restoring exception stack
//
//---------------------------------------------------------------------------
class CAutoExceptionStack : public CStackObject
{
private:
	// address of the global exception stack value
	void **m_global_exception_stack;

	// value of exception stack when object is created
	void *m_exception_stack;

	// address of the global error context stack value
	void **m_global_error_context_stack;

	// value of error context stack when object is created
	void *m_error_context_stack;

public:
	CAutoExceptionStack(const CAutoExceptionStack &) = delete;

	// ctor
	CAutoExceptionStack(void **global_exception_stack,
						void **global_error_context_stack);

	// dtor
	~CAutoExceptionStack();

	// set the exception stack to the given address
	void SetLocalJmp(void *local_jump);

};	// class CAutoExceptionStack
}  // namespace gpos

#endif	// !GPOS_CAutoExceptionStack_H

// EOF

相关信息

greenplumn 源码目录

相关文章

greenplumn CAutoTrace 源码

greenplumn CErrorContext 源码

greenplumn CErrorHandler 源码

greenplumn CErrorHandlerStandard 源码

greenplumn CException 源码

greenplumn CLogger 源码

greenplumn CLoggerStream 源码

greenplumn CLoggerSyslog 源码

greenplumn CMessage 源码

greenplumn CMessageRepository 源码

0  赞