mirror of
https://github.com/X11Libre/xserver.git
synced 2026-01-26 14:03:17 +00:00
This commit broke glx after server reset. Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
39 lines
984 B
C
39 lines
984 B
C
/* SPDX-License-Identifier: MIT OR X11
|
|
*
|
|
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
|
|
*/
|
|
#ifndef _XSERVER_CALLBACK_PRIV_H
|
|
#define _XSERVER_CALLBACK_PRIV_H
|
|
|
|
#include "callback.h"
|
|
|
|
void InitCallbackManager(void);
|
|
void DeleteCallbackManager(void);
|
|
|
|
typedef struct _CallbackRec {
|
|
CallbackProcPtr proc;
|
|
void *data;
|
|
Bool deleted;
|
|
struct _CallbackRec *next;
|
|
} CallbackRec, *CallbackPtr;
|
|
|
|
typedef struct _CallbackList {
|
|
int inCallback;
|
|
Bool deleted;
|
|
int numDeleted;
|
|
CallbackPtr list;
|
|
} CallbackListRec;
|
|
|
|
/*
|
|
* @brief delete a callback list
|
|
*
|
|
* Calling this is necessary if a CallbackListPtr is used inside a dynamically
|
|
* allocated structure, before it is freed. If it's not done, memory corruption
|
|
* or segfault can happen at a much later point (eg. next server incarnation)
|
|
*
|
|
* @param pcbl pointer to the list head (CallbackListPtr)
|
|
*/
|
|
void DeleteCallbackList(CallbackListPtr *pcbl);
|
|
|
|
#endif /* _XSERVER_CALLBACK_PRIV_H */
|