1
0
mirror of https://github.com/Interlisp/maiko.git synced 2026-05-04 15:26:16 +00:00
Files
Interlisp.maiko/inc/ldeXdefs.h
Nick Briggs ef6a6554ac Remove SIGPOLL usage (#385)
* Remove unnecessary calls to XLOCK/XUNLOCK

The X methods called by flush_display_region() and flush_display_lineregion() handle the
locking/unlocking, therefore it is unnecessary to invoke the locking here.

* Remove explict signals when doing XUNLOCK()

Call getXsignaldata() directly if a signal happened while X code
was locked, instead of generating a signal and then handling it.

Some macros and functions needed to pass the DspInterface instead of
extracting the X display and window and passing those so that the
correct structure was available for the XUNLOCK() call.
2021-06-27 19:02:02 -07:00

36 lines
967 B
C
Executable File

#ifndef LDEXDEFS_H
#define LDEXDEFS_H 1
/* $Id: ldeXdefs.h,v 1.2 1999/01/03 02:06:07 sybalsky Exp $ (C) Copyright Venue, All Rights Reserved */
/* * * * * X defs for all files in Medley * * * * */
/************************************************************************/
/* */
/* (C) Copyright 1989-92 Venue. All Rights Reserved. */
/* Manufactured in the United States of America. */
/* */
/************************************************************************/
#ifdef LOCK_X_UPDATES
#define XLOCK { XLocked++; /* printf("L"); fflush(stdout);*/}
#define XUNLOCK(dsp) \
{ XLocked--;/* printf("U"); fflush(stdout);*/ \
if (XNeedSignal) \
{ \
XNeedSignal = 0; \
getXsignaldata(dsp); \
}; \
}
#else
#define XLOCK
#define XUNLOCK
#endif /* LOCK_X_UPDATES */
extern int XLocked;
extern int XNeedSignal;
/* this is !0 if we're locked; it should be 0 or larger always */
#endif