Browse Source

Proper cleanup on termination of Xvnc/libvnc.so

tags/v1.8.90
Pierre Ossman 6 years ago
parent
commit
621580d7a8

+ 1
- 0
unix/xserver/hw/vnc/vncExt.c View File



static void vncResetProc(ExtensionEntry* extEntry) static void vncResetProc(ExtensionEntry* extEntry)
{ {
vncExtensionClose();
} }


static void vncClientStateChange(CallbackListPtr * l, void * d, void * p) static void vncClientStateChange(CallbackListPtr * l, void * d, void * p)

+ 12
- 0
unix/xserver/hw/vnc/vncExtInit.cc View File

vncRegisterBlockHandlers(); vncRegisterBlockHandlers();
} }


void vncExtensionClose(void)
{
try {
for (int scr = 0; scr < vncGetScreenCount(); scr++) {
delete desktop[scr];
desktop[scr] = NULL;
}
} catch (rdr::Exception& e) {
vncFatalError("vncExtInit: %s",e.str());
}
}

void vncHandleSocketEvent(int fd, int scrIdx, int read, int write) void vncHandleSocketEvent(int fd, int scrIdx, int read, int write)
{ {
desktop[scrIdx]->handleSocketEvent(fd, read, write); desktop[scrIdx]->handleSocketEvent(fd, read, write);

+ 1
- 0
unix/xserver/hw/vnc/vncExtInit.h View File

extern int vncInetdSock; extern int vncInetdSock;


void vncExtensionInit(void); void vncExtensionInit(void);
void vncExtensionClose(void);


void vncHandleSocketEvent(int fd, int scrIdx, int read, int write); void vncHandleSocketEvent(int fd, int scrIdx, int read, int write);
void vncCallBlockHandlers(int* timeout); void vncCallBlockHandlers(int* timeout);

Loading…
Cancel
Save