THR_SUSPEND man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

THR_SUSPEND(3C)						       THR_SUSPEND(3C)

NAME
       thr_suspend, thr_continue - suspend or continue thread execution

SYNOPSIS
       cc -mt [ flag... ] file...[ library... ]
       #include <thread.h>

       int thr_suspend(thread_t target_thread);

       int thr_continue(thread_t target_thread);

DESCRIPTION
       The  thr_suspend()  function  immediately suspends the execution of the
       thread specified by target_thread. On successful return	from  thr_sus‐
       pend(),	the  suspended thread is no longer executing. Once a thread is
       suspended, subsequent calls to thr_suspend() have no effect.

       The thr_continue()  function  resumes  the  execution  of  a  suspended
       thread.	 Once  a  suspended  thread  is continued, subsequent calls to
       thr_continue() have no effect.

       A suspended thread will not be awakened by any mechanism other  than  a
       call  to	 thr_continue().   Signals  and	 the  effect  of  calls	 tomu‐
       tex_unlock(3C),	rw_unlock(3C),	sema_post(3C),	cond_signal(3C),   and
       cond_broadcast(3C)  remain pending until the execution of the thread is
       resumed by thr_continue().

RETURN VALUES
       If successful, the thr_suspend() and  thr_continue()  functions	return
       0. Otherwise, a non-zero value is returned to indicate the error.

ERRORS
       The thr_suspend() and thr_continue() functions will fail if:

       ESRCH
		 The target_thread cannot be found in the current process.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌───────────────┬─────────────────┐
       │ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
       ├───────────────┼─────────────────┤
       │MT-Level       │ MT-Safe	 │
       └───────────────┴─────────────────┘

SEE ALSO
       thr_create(3C), thr_join(3C), attributes(5), standards(5)

WARNINGS
       The thr_suspend() function is extremely difficult to use safely because
       it suspends the target thread with no concern for the  target  thread's
       state.	The  target thread could be holding locks, waiting for a lock,
       or waiting on a condition variable  when	 it  is	 unconditionally  sus‐
       pended.	The  thread  will  not	run  until  thr_continue() is applied,
       regardless  of  any  calls   to	 mutex_unlock(),   cond_signal(),   or
       cond_broadcast()	 by  other threads. Its existence on a sleep queue can
       interfere with the waking up of other threads  that  are	 on  the  same
       sleep queue.

       The  thr_suspend()  and	thr_continue()	functions  should  be avoided.
       Mechanisms that involve the cooperation of the targeted thread, such as
       mutex locks and condition variables, should be employed instead.

				 Mar 22, 2002		       THR_SUSPEND(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net