X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_threads.3x.html;h=fc110ff4b101abf934adfebae6bedfeb500f3dca;hb=9f479192e3ca3413d235c66bf058f8cc63764898;hp=0977cac573c00e73c8f3ea1c06c50173431b4441;hpb=cb4427a16794d98049b4d790b810d62217501f9f;p=ncurses.git diff --git a/doc/html/man/curs_threads.3x.html b/doc/html/man/curs_threads.3x.html index 0977cac5..fc110ff4 100644 --- a/doc/html/man/curs_threads.3x.html +++ b/doc/html/man/curs_threads.3x.html @@ -1,6 +1,7 @@ - @@ -35,49 +36,51 @@
--curs_threads(3x) curs_threads(3x) +curs_threads(3X) curs_threads(3X)
- curs_threads - curses thread support + curs_threads - curses thread support
- #include <curses.h> + #include <curses.h> - typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); - typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *); - int get_escdelay(void); - int set_escdelay(int size); - int set_tabsize(int size); - int use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data); - int use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data); + typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *); + typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *); + + int get_escdelay(void); + int set_escdelay(int ms); + int set_tabsize(int cols); + + int use_screen(SCREEN *scr, NCURSES_SCREEN_CB func, void *data); + int use_window(WINDOW *win, NCURSES_WINDOW_CB func, void *data);
This implementation can be configured to provide rudimentary support for multi-threaded applications. This makes a different set of li- - braries, e.g., libncursest since the binary interfaces are different. + braries, e.g., libncursest since the binary interfaces are different. Rather than modify the interfaces to pass a thread specifier to each function, it adds a few functions which can be used in any configura- tion which hide the mutex's needed to prevent concurrent use of the global variables when configured for threading. - In addition to forcing access to members of the WINDOW structure to be - via functions (see curs_opaque(3x)), it makes functions of the common + In addition to forcing access to members of the WINDOW structure to be + via functions (see curs_opaque(3X)), it makes functions of the common global variables, e.g., COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES, TABSIZE curscr, newscr and ttytype. Those variables are maintained as - read-only values, stored in the SCREEN structure. + read-only values, stored in the SCREEN structure. Even this is not enough to make a thread-safe application using curses. A multi-threaded application would be expected to have threads updating @@ -87,14 +90,14 @@ here address these special situations. The ESCDELAY and TABSIZE global variables are modified by some applica- - tions. To modify them in any configuration, use the set_escdelay or - set_tabsize functions. Other global variables are not modifiable. + tions. To modify them in any configuration, use the set_escdelay or + set_tabsize functions. Other global variables are not modifiable. - The get_escdelay function returns the value for ESCDELAY. + The get_escdelay function returns the value for ESCDELAY. - The use_window and use_screen functions provide coarse granularity mu- - texes for their respective WINDOW and SCREEN parameters, and call a us- - er-supplied function, passing it a data parameter, and returning the + The use_window and use_screen functions provide coarse granularity mu- + texes for their respective WINDOW and SCREEN parameters, and call a us- + er-supplied function, passing it a data parameter, and returning the value from the user-supplied function to the application. @@ -103,22 +106,22 @@ tered during operation. In addition, they use data which is maintained within a hierarchy of scopes. - o global data, e.g., used in the low-level terminfo or termcap in- + o global data, e.g., used in the low-level terminfo or termcap in- terfaces. - o terminal data, e.g., associated with a call to set_curterm. The + o terminal data, e.g., associated with a call to set_curterm. The terminal data are initialized when screens are created. - o screen data, e.g., associated with a call to newterm or initscr. + o screen data, e.g., associated with a call to newterm or initscr. - o window data, e.g., associated with a call to newwin or subwin. + o window data, e.g., associated with a call to newwin or subwin. Windows are associated with screens. Pads are not necessarily associated with a particular screen. Most curses applications operate on one or more windows within a single screen. - o reentrant, i.e., it uses only the data passed as parameters. + o reentrant, i.e., it uses only the data passed as parameters. This table lists the scope of data used for each symbol in the ncurses library when it is configured to support threading: @@ -130,7 +133,7 @@ COLOR_PAIR reentrant COLOR_PAIRS screen (readonly) COLS screen (readonly) - ESCDELAY screen (readonly, see set_escdelay) + ESCDELAY screen (readonly, see set_escdelay) LINES screen (readonly) PAIR_NUMBER reentrant PC global @@ -177,9 +180,9 @@ clrtobot window (stdscr) clrtoeol window (stdscr) color_content screen + color_set window (stdscr) copywin window locks(source, target) - cur_term terminal curs_set screen curscr screen (readonly) @@ -244,9 +247,9 @@ inchstr window (stdscr) init_color screen init_pair screen + initscr global locks(screenlist) innstr window (stdscr) - innwstr window (stdscr) ins_nwstr window (stdscr) ins_wch window (stdscr) @@ -311,9 +314,9 @@ mvgetstr screen (input-operation) mvhline window (stdscr) mvhline_set window (stdscr) + mvin_wch window (stdscr) mvin_wchnstr window (stdscr) - mvin_wchstr window (stdscr) mvinch window (stdscr) mvinchnstr window (stdscr) @@ -378,9 +381,9 @@ newscr screen (readonly) newterm global locks(screenlist) newwin global locks(windowlist) + nl screen nocbreak screen - nodelay window noecho screen nofilter global @@ -445,9 +448,9 @@ slk_restore screen slk_set screen slk_touch screen + slk_wset screen standend window - standout window start_color screen stdscr screen (readonly) @@ -512,9 +515,9 @@ wattr_on window wattr_set window wattroff window + wattron window wattrset window - wbkgd window wbkgdset window wbkgrnd window @@ -579,14 +582,14 @@ wsyncup screen (affects window plus parents) wtimeout window wtouchln window + wunctrl global (static data) wvline window - wvline_set window
- These functions all return TRUE or FALSE, except as noted. + These functions all return TRUE or FALSE, except as noted.
@@ -601,11 +604,11 @@
- curses(3x), curs_opaque(3x), curs_variables(3x). + curses(3X), curs_opaque(3X), curs_variables(3X). - curs_threads(3x) + curs_threads(3X)