X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=ncurses%2Fcurses.priv.h;h=bd2dc32cb5d5b066d2f1adaddf058dd5ff8c63b5;hb=60014650d5e3f088e2d5e8835925cce96db00c33;hp=1e748eeca7a610da4a965fc82ac4d81a4f96d728;hpb=c4d90db4f4e50bb8a971955ce4812262da4a50bc;p=ncurses.git diff --git a/ncurses/curses.priv.h b/ncurses/curses.priv.h index 1e748eec..bd2dc32c 100644 --- a/ncurses/curses.priv.h +++ b/ncurses/curses.priv.h @@ -34,7 +34,7 @@ /* - * $Id: curses.priv.h,v 1.357 2008/01/13 00:33:10 tom Exp $ + * $Id: curses.priv.h,v 1.361 2008/03/29 21:14:14 tom Exp $ * * curses.priv.h * @@ -312,8 +312,10 @@ color_t; #define TR_GLOBAL_MUTEX(name) TR_MUTEX(_nc_globals.mutex_##name) #ifdef USE_PTHREADS + #if USE_REENTRANT #include +extern NCURSES_EXPORT(void) _nc_mutex_init(pthread_mutex_t *); extern NCURSES_EXPORT(int) _nc_mutex_lock(pthread_mutex_t *); extern NCURSES_EXPORT(int) _nc_mutex_trylock(pthread_mutex_t *); extern NCURSES_EXPORT(int) _nc_mutex_unlock(pthread_mutex_t *); @@ -327,7 +329,16 @@ extern NCURSES_EXPORT(void) _nc_unlock_window(WINDOW *); #else #error POSIX threads requires --enable-reentrant option #endif -#else + +#if HAVE_NANOSLEEP +#undef HAVE_NANOSLEEP +#define HAVE_NANOSLEEP 0 /* nanosleep suspends all threads */ +#endif + +#else /* !USE_PTHREADS */ + +#define _nc_mutex_init(obj) /* nothing */ + #define _nc_lock_global(name) /* nothing */ #define _nc_try_global(name) 0 #define _nc_unlock_global(name) /* nothing */ @@ -335,11 +346,19 @@ extern NCURSES_EXPORT(void) _nc_unlock_window(WINDOW *); #define _nc_lock_window(name) (void) TRUE #define _nc_unlock_window(name) /* nothing */ -#endif +#endif /* USE_PTHREADS */ #define _nc_lock_screen(name) /* nothing */ #define _nc_unlock_screen(name) /* nothing */ +#if HAVE_GETTIMEOFDAY +# define PRECISE_GETTIME 1 +# define TimeType struct timeval +#else +# define PRECISE_GETTIME 0 +# define TimeType time_t +#endif + /* * Definitions for color pairs */ @@ -552,6 +571,9 @@ typedef struct { int tgetent_index; long tgetent_sequence; + WINDOWLIST *_nc_windowlist; +#define _nc_windows _nc_globals._nc_windowlist + #if USE_HOME_TERMINFO char *home_terminfo; #endif @@ -583,11 +605,9 @@ typedef struct { unsigned char *tracetry_buf; size_t tracetry_used; -#ifndef USE_TERMLIB char traceatr_color_buf[2][80]; int traceatr_color_sel; int traceatr_color_last; -#endif /* USE_TERMLIB */ #endif /* TRACE */ @@ -823,12 +843,6 @@ struct screen { * per screen basis. */ struct panelhook _panelHook; - /* - * Linked-list of all windows, to support '_nc_resizeall()' and - * '_nc_freeall()' - */ - WINDOWLIST *_nc_sp_windows; -#define _nc_windows SP->_nc_sp_windows bool _sig_winch; SCREEN *_next_screen;