ncurses 6.0 - patch 20170318
[ncurses.git] / man / curs_threads.3x
index d15b6f7a5c16ffa46f12cc346d2b98fcb7af408c..350d5eea2523ed9210c15af9f1a61ad8456f46d4 100644 (file)
@@ -1,5 +1,5 @@
 .\"***************************************************************************
-.\" Copyright (c) 2008 Free Software Foundation, Inc.                        *
+.\" Copyright (c) 2008-2014,2015 Free Software Foundation, Inc.              *
 .\"                                                                          *
 .\" Permission is hereby granted, free of charge, to any person obtaining a  *
 .\" copy of this software and associated documentation files (the            *
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_threads.3x,v 1.10 2008/04/05 23:51:41 tom Exp $
+.\" $Id: curs_threads.3x,v 1.23 2015/12/05 18:47:04 tom Exp $
 .TH curs_threads 3X ""
+.de bP
+.IP \(bu 4
+..
 .na
 .hy 0
 .SH NAME
-\fBuse_screen\fR,
-\fBuse_window\fR - \fBcurses\fR thread support
+\fBcurs_threads\fR \- \fBcurses\fR thread support
 .ad
 .hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
 \fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fR
+.br
 \fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fR
 .br
+\fBint get_escdelay(void);\fR
+.br
 \fBint set_escdelay(int size);\fR
 .br
 \fBint set_tabsize(int size);\fR
 .br
-\fBint use_screen(SCREEN *scr, NCURSES_WINDOW_CB func, void *data);\fR
+\fBint use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data);\fR
 .br
-\fBint use_window(WINDOW *win, NCURSES_SCREEN_CB func, void *data);\fR
+\fBint use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);\fR
 .br
 .SH DESCRIPTION
 This implementation can be configured to provide rudimentary support
@@ -61,7 +66,7 @@ configuration which hide the mutex's needed to prevent concurrent
 use of the global variables when configured for threading.
 .PP
 In addition to forcing access to members of the \fBWINDOW\fP structure
-to be via functions (see \fBcurs_opaque\fP(3x)),
+to be via functions (see \fBcurs_opaque\fP(3X)),
 it makes functions of the common global variables,
 e.g.,
 COLORS,
@@ -89,6 +94,8 @@ To modify them in any configuration,
 use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
 Other global variables are not modifiable.
 .PP
+The \fBget_escdelay\fP function returns the value for ESCDELAY.
+.PP
 The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
 granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
 parameters, and call a user-supplied function,
@@ -100,26 +107,21 @@ All of the ncurses library functions assume that the locale is not
 altered during operation.
 In addition,
 they use data which is maintained within a hierarchy of scopes.
-.RS
-.TP 3
--
+.RS 3
+.bP
 global data, e.g., used in the low-level terminfo or termcap interfaces.
-.TP 3
--
+.bP
 terminal data, e.g., associated with a call to \fIset_curterm\fP.
 The terminal data are initialized when screens are created.
-.TP 3
--
+.bP
 screen data, e.g., associated with a call to \fInewterm\fP or \fIinitscr\fP.
-.TP 3
--
+.bP
 window data, e.g., associated with a call to \fInewwin\fP or \fIsubwin\fP.
 Windows are associated with screens.
 Pads are not necessarily associated with a particular screen.
 .IP
 Most curses applications operate on one or more windows within a single screen.
-.TP 3
--
+.bP
 reentrant, i.e., it uses only the data passed as parameters.
 .RE
 .PP
@@ -184,7 +186,7 @@ clrtobot/window (stdscr)
 clrtoeol/window (stdscr)
 color_content/screen
 color_set/window (stdscr)
-copywin/window (both source, target)
+copywin/window locks(source, target)
 cur_term/terminal
 curs_set/screen
 curscr/screen (readonly)
@@ -196,11 +198,11 @@ del_curterm/screen
 delay_output/screen
 delch/window (stdscr)
 deleteln/window (stdscr)
-delscreen/reentrant
-delwin/reentrant
+delscreen/global locks(screenlist, screen)
+delwin/global locks(windowlist)
 derwin/screen
 doupdate/screen
-dupwin/screen
+dupwin/screen locks(window)
 echo/screen
 echo_wchar/window (stdscr)
 echochar/window (stdscr)
@@ -249,7 +251,7 @@ inchnstr/window (stdscr)
 inchstr/window (stdscr)
 init_color/screen
 init_pair/screen
-initscr/global
+initscr/global locks(screenlist)
 innstr/window (stdscr)
 innwstr/window (stdscr)
 ins_nwstr/window (stdscr)
@@ -377,10 +379,10 @@ mvwscanw/screen
 mvwvline/window
 mvwvline_set/window
 napms/reentrant
-newpad/reentrant
+newpad/global locks(windowlist)
 newscr/screen (readonly)
-newterm/global
-newwin/reentrant
+newterm/global locks(screenlist)
+newwin/global locks(windowlist)
 nl/screen
 nocbreak/screen
 nodelay/window
@@ -394,8 +396,8 @@ numcodes/global (readonly)
 numfnames/global (readonly)
 numnames/global (readonly)
 ospeed/global
-overlay/window (both source, target)
-overwrite/window (both source, target)
+overlay/window locks(source, target)
+overwrite/window locks(source, target)
 pair_content/screen
 pecho_wchar/screen
 pechochar/screen
@@ -411,7 +413,7 @@ refresh/screen
 reset_prog_mode/screen
 reset_shell_mode/screen
 resetty/terminal
-resize_term/screen
+resize_term/screen locks(windowlist)
 resizeterm/screen
 restartterm/screen
 ripoffline/global (static data)
@@ -427,7 +429,7 @@ scrollok/window
 set_curterm/screen
 set_escdelay/screen
 set_tabsize/screen
-set_term/reentrant
+set_term/global locks(screenlist, screen)
 setcchar/reentrant
 setscrreg/window (stdscr)
 setupterm/global
@@ -486,8 +488,8 @@ use_default_colors/screen
 use_env/global (static data)
 use_extended_names/global (static data)
 use_legacy_coding/screen
-use_screen/reentrant
-use_window/reentrant
+use_screen/global locks(screenlist, screen)
+use_window/global locks(windowlist, window)
 vid_attr/screen
 vid_puts/screen
 vidattr/screen
@@ -537,6 +539,7 @@ wget_wch/screen (input-operation)
 wget_wstr/screen (input-operation)
 wgetbkgrnd/window
 wgetch/screen (input-operation)
+wgetdelay/window
 wgetn_wstr/screen (input-operation)
 wgetnstr/screen (input-operation)
 wgetparent/window
@@ -568,7 +571,7 @@ wnoutrefresh/screen
 wprintw/window
 wredrawln/window
 wrefresh/screen
-wresize/window
+wresize/window locks(windowlist)
 wscanw/screen
 wscrl/window
 wsetscrreg/window
@@ -584,7 +587,7 @@ wvline_set/window
 .TE
 .\" ***************************************************************************
 .SH RETURN VALUE
-These functions all return TRUE or FALSE, except as noted.
+These functions all return \fBTRUE\fP or \fBFALSE\fP, except as noted.
 .SH NOTES
 Both a macro and a function are provided for each name.
 .SH PORTABILITY
@@ -594,10 +597,5 @@ It is recommended that any code depending on ncurses extensions
 be conditioned using NCURSES_VERSION.
 .SH SEE ALSO
 \fBcurses\fR(3X),
-\fBcurs_opaque\fR(3X)
-.\"#
-.\"# The following sets edit modes for GNU EMACS
-.\"# Local Variables:
-.\"# mode:nroff
-.\"# fill-column:79
-.\"# End:
+\fBcurs_opaque\fR(3X),
+\fBcurs_variables\fR(3X).