MONC
Functions/Subroutines
forthread_mod Module Reference

Functions/Subroutines

integer function forthread_init ()
 
integer function forthread_destroy ()
 
integer function forthread_create (thread_id, attr_id, run, arg)
 
integer function forthread_detach (thread_id)
 
integer function forthread_equal (t1, t2)
 
subroutine forthread_exit (val)
 
integer function forthread_join (thread_id, val)
 
integer function forthread_cancel (thread_id)
 
integer function forthread_kill (thread_id, sig)
 
integer function forthread_once_init (once_ctrl_id)
 
integer function forthread_once (once_ctrl_id, init_routine)
 
integer function forthread_getconcurrency (currlevel)
 
integer function forthread_setconcurrency (newlevel)
 
integer function forthread_getcpuclockid (thread, clock_id)
 
integer function forthread_getschedparam (thread, policy, param)
 
integer function forthread_setschedparam (thread, policy, param)
 
integer function forthread_setschedprio (thread, prio)
 
integer function forthread_setcancelstate (state, oldstate)
 
integer function forthread_setcanceltype (ctype, oldctype)
 
integer function forthread_key_delete (key_id)
 
integer function forthread_key_create (key_id, destructor)
 
integer function forthread_mutex_destroy (mutex_id)
 
integer function forthread_mutex_init (mutex_id, attr_id)
 
integer function forthread_mutex_lock (mutex_id)
 
integer function forthread_mutex_trylock (mutex_id)
 
integer function forthread_mutex_unlock (mutex_id)
 
integer function forthread_mutex_getprioceiling (mutex, prioceiling)
 
integer function forthread_mutex_setprioceiling (mutex, prioceiling, old_ceiling)
 
integer function forthread_mutex_timedlock (mutex, abs_timeout)
 
integer function forthread_cond_destroy (cond_id)
 
integer function forthread_cond_init (cond_id, attr_id)
 
integer function forthread_cond_timedwait (mutex, abstime)
 
integer function forthread_cond_wait (cond_id, mutex_id)
 
integer function forthread_cond_broadcast (cond_id)
 
integer function forthread_cond_signal (cond_id)
 
integer function forthread_barrier_destroy (barrier_id)
 
integer function forthread_barrier_init (barrier_id, attr_id, tcount)
 
integer function forthread_barrier_wait (barrier_id)
 
integer function forthread_spin_destroy (spinlock_id)
 
integer function forthread_spin_init (spinlock_id, pshared)
 
integer function forthread_spin_lock (lock_id)
 
integer function forthread_spin_trylock (lock_id)
 
integer function forthread_spin_unlock (lock_id)
 
integer function forthread_rwlock_destroy (rwlock_id)
 
integer function forthread_rwlock_init (rwlock_id, attr_id)
 
integer function forthread_rwlock_rdlock (lock_id)
 
integer function forthread_rwlock_tryrdlock (lock_id)
 
integer function forthread_rwlock_wrlock (lock_id)
 
integer function forthread_rwlock_trywrlock (lock_id)
 
integer function forthread_rwlock_unlock (lock_id)
 
integer function forthread_rwlock_timedrdlock (lock_id, abs_timeout)
 
integer function forthread_rwlock_timedwrlock (lock_id, abs_timeout)
 
integer function forthread_attr_destroy (attr)
 
integer function forthread_attr_init (attr)
 
integer function forthread_attr_getdetachstate (attr, detachstate)
 
integer function forthread_attr_setdetachstate (attr, detachstate)
 
integer function forthread_attr_getguardsize (attr, guardsize)
 
integer function forthread_attr_setguardsize (attr, guardsize)
 
integer function forthread_attr_getinheritsched (attr, inheritsched)
 
integer function forthread_attr_setinheritsched (attr, inheritsched)
 
integer function forthread_attr_getschedparam (attr, param)
 
integer function forthread_attr_setschedparam (attr, param)
 
integer function forthread_attr_getschedpolicy (attr, policy)
 
integer function forthread_attr_setschedpolicy (attr, policy)
 
integer function forthread_attr_getscope (attr, scope)
 
integer function forthread_attr_setscope (attr, scope)
 
integer function forthread_attr_getstacksize (attr, stacksize)
 
integer function forthread_attr_setstacksize (attr, stacksize)
 
integer function forthread_mutexattr_destroy (attr)
 
integer function forthread_mutexattr_init (attr)
 
integer function forthread_mutexattr_getpshared (attr, pshared)
 
integer function forthread_mutexattr_setpshared (attr, pshared)
 
integer function forthread_mutexattr_getprioceiling (attr, prioceiling)
 
integer function forthread_mutexattr_setprioceiling (attr, prioceiling)
 
integer function forthread_mutexattr_getprotocol (attr, protocol)
 
integer function forthread_mutexattr_setprotocol (attr, protocol)
 
integer function forthread_mutexattr_gettype (attr, mtype)
 
integer function forthread_mutexattr_settype (attr, mtype)
 
integer function forthread_condattr_destroy (attr)
 
integer function forthread_condattr_init (attr)
 
integer function forthread_condattr_getpshared (attr, pshared)
 
integer function forthread_condattr_setpshared (attr, pshared)
 
integer function forthread_condattr_getclock (attr, clock_id)
 
integer function forthread_condattr_setclock (attr, clock_id)
 
integer function forthread_barrierattr_destroy (attr)
 
integer function forthread_barrierattr_init (attr)
 
integer function forthread_barrierattr_getpshared (attr, pshared)
 
integer function forthread_barrierattr_setpshared (attr, pshared)
 
integer function forthread_rwlockattr_destroy (attr)
 
integer function forthread_rwlockattr_init (attr)
 
integer function forthread_rwlockattr_getpshared (attr, pshared)
 
integer function forthread_rwlockattr_setpshared (attr, pshared)
 

Function/Subroutine Documentation

◆ forthread_attr_destroy()

integer function forthread_mod::forthread_attr_destroy ( integer, intent(in)  attr)

Definition at line 584 of file forthread.F90.

585  integer, intent(in) :: attr
586 
587  integer :: info
588 
589  call thread_attr_destroy(attr,info)
590  forthread_attr_destroy=info

◆ forthread_attr_getdetachstate()

integer function forthread_mod::forthread_attr_getdetachstate ( integer, intent(in)  attr,
integer, intent(out)  detachstate 
)

Definition at line 602 of file forthread.F90.

603  integer, intent(in) :: attr
604  integer, intent(out) :: detachstate
605 
606  integer :: info
607 
608  call thread_attr_getdetachstate(attr,detachstate,info)
609  forthread_attr_getdetachstate=info

◆ forthread_attr_getguardsize()

integer function forthread_mod::forthread_attr_getguardsize ( integer, intent(in)  attr,
integer(size_t), intent(out)  guardsize 
)

Definition at line 620 of file forthread.F90.

621  integer, intent(in) :: attr
622  integer(size_t), intent(out) :: guardsize
623 
624  integer :: info
625 
626  call thread_attr_getguardsize(attr,guardsize,info)
627  forthread_attr_getguardsize=info

◆ forthread_attr_getinheritsched()

integer function forthread_mod::forthread_attr_getinheritsched ( integer, intent(in)  attr,
integer, intent(out)  inheritsched 
)

Definition at line 640 of file forthread.F90.

641  integer, intent(in) :: attr
642  integer, intent(out) :: inheritsched
643 
644  integer :: info
645 
646  call thread_attr_getinheritsched(attr,inheritsched,info)
647  forthread_attr_getinheritsched=info

◆ forthread_attr_getschedparam()

integer function forthread_mod::forthread_attr_getschedparam ( integer, intent(in)  attr,
type(sched_param), intent(out)  param 
)

Definition at line 660 of file forthread.F90.

661  integer, intent(in) :: attr
662  type(sched_param), intent(out) :: param
663 
664  integer :: info
665 
666  call thread_attr_getschedparam(attr,param,info)
667  forthread_attr_getschedparam=info

◆ forthread_attr_getschedpolicy()

integer function forthread_mod::forthread_attr_getschedpolicy ( integer, intent(in)  attr,
integer, intent(out)  policy 
)

Definition at line 680 of file forthread.F90.

681  integer, intent(in) :: attr
682  integer, intent(out) :: policy
683 
684  integer :: info
685 
686  call thread_attr_getschedpolicy(attr,policy,info)
687  forthread_attr_getschedpolicy=info

◆ forthread_attr_getscope()

integer function forthread_mod::forthread_attr_getscope ( integer, intent(in)  attr,
integer, intent(out)  scope 
)

Definition at line 699 of file forthread.F90.

700  integer, intent(in) :: attr
701  integer, intent(out) :: scope
702 
703  integer :: info
704 
705  call thread_attr_getscope(attr,scope,info)
706  forthread_attr_getscope=info

◆ forthread_attr_getstacksize()

integer function forthread_mod::forthread_attr_getstacksize ( integer, intent(in)  attr,
integer(size_t), intent(out)  stacksize 
)

Definition at line 718 of file forthread.F90.

719  integer, intent(in) :: attr
720  integer(size_t), intent(out) :: stacksize
721 
722  integer :: info
723 
724  call thread_attr_getstacksize(attr,stacksize,info)
725  forthread_attr_getstacksize=info

◆ forthread_attr_init()

integer function forthread_mod::forthread_attr_init ( integer, intent(in)  attr)

Definition at line 593 of file forthread.F90.

594  integer, intent(in) :: attr
595 
596  integer :: info
597 
598  call thread_attr_init(attr,info)
599  forthread_attr_init=info

◆ forthread_attr_setdetachstate()

integer function forthread_mod::forthread_attr_setdetachstate ( integer, intent(in)  attr,
integer, intent(in)  detachstate 
)

Definition at line 612 of file forthread.F90.

613  integer, intent(in) :: attr, detachstate
614  integer :: info
615 
616  call thread_attr_setdetachstate(attr,detachstate,info)
617  forthread_attr_setdetachstate=info

◆ forthread_attr_setguardsize()

integer function forthread_mod::forthread_attr_setguardsize ( integer, intent(in)  attr,
integer(size_t), intent(in)  guardsize 
)

Definition at line 630 of file forthread.F90.

631  integer, intent(in) :: attr
632  integer(size_t), intent(in) :: guardsize
633 
634  integer :: info
635 
636  call thread_attr_setguardsize(attr,guardsize,info)
637  forthread_attr_setguardsize=info

◆ forthread_attr_setinheritsched()

integer function forthread_mod::forthread_attr_setinheritsched ( integer, intent(in)  attr,
integer, intent(in)  inheritsched 
)

Definition at line 650 of file forthread.F90.

651  integer, intent(in) :: attr
652  integer, intent(in) :: inheritsched
653 
654  integer :: info
655 
656  call thread_attr_setinheritsched(attr,inheritsched,info)
657  forthread_attr_setinheritsched=info

◆ forthread_attr_setschedparam()

integer function forthread_mod::forthread_attr_setschedparam ( integer, intent(in)  attr,
type(sched_param), intent(in)  param 
)

Definition at line 670 of file forthread.F90.

671  integer, intent(in) :: attr
672  type(sched_param), intent(in) :: param
673 
674  integer :: info
675 
676  call thread_attr_setschedparam(attr,param,info)
677  forthread_attr_setschedparam=info

◆ forthread_attr_setschedpolicy()

integer function forthread_mod::forthread_attr_setschedpolicy ( integer, intent(in)  attr,
integer, intent(in)  policy 
)

Definition at line 690 of file forthread.F90.

691  integer, intent(in) :: attr, policy
692 
693  integer :: info
694 
695  call thread_attr_setschedpolicy(attr,policy,info)
696  forthread_attr_setschedpolicy=info

◆ forthread_attr_setscope()

integer function forthread_mod::forthread_attr_setscope ( integer, intent(in)  attr,
integer, intent(in)  scope 
)

Definition at line 709 of file forthread.F90.

710  integer, intent(in) :: attr, scope
711 
712  integer :: info
713 
714  call thread_attr_setscope(attr,scope,info)
715  forthread_attr_setscope=info

◆ forthread_attr_setstacksize()

integer function forthread_mod::forthread_attr_setstacksize ( integer, intent(in)  attr,
integer(size_t), intent(in)  stacksize 
)

Definition at line 728 of file forthread.F90.

729  integer, intent(in) :: attr
730  integer(size_t), intent(in) :: stacksize
731 
732  integer :: info
733 
734  call thread_attr_setstacksize(attr,stacksize,info)
735  forthread_attr_setstacksize=info

◆ forthread_barrier_destroy()

integer function forthread_mod::forthread_barrier_destroy ( integer, intent(in)  barrier_id)

Definition at line 407 of file forthread.F90.

408  integer, intent(in) :: barrier_id
409 
410  integer :: info
411 
412  call thread_barrier_destroy(barrier_id,info)
413  forthread_barrier_destroy=info

◆ forthread_barrier_init()

integer function forthread_mod::forthread_barrier_init ( integer, intent(out)  barrier_id,
integer, intent(in)  attr_id,
integer, intent(in)  tcount 
)

Definition at line 416 of file forthread.F90.

417  integer, intent(out) :: barrier_id
418  integer, intent(in) :: attr_id, tcount
419 
420  integer :: info
421 
422  call thread_barrier_init(barrier_id,attr_id,tcount,info)
423  forthread_barrier_init=info

◆ forthread_barrier_wait()

integer function forthread_mod::forthread_barrier_wait ( integer, intent(in)  barrier_id)

Definition at line 426 of file forthread.F90.

427  integer, intent(in) :: barrier_id
428 
429  integer :: info
430 
431  call thread_barrier_wait(barrier_id,info)
432  forthread_barrier_wait=info

◆ forthread_barrierattr_destroy()

integer function forthread_mod::forthread_barrierattr_destroy ( integer, intent(in)  attr)

Definition at line 902 of file forthread.F90.

903  integer, intent(in) :: attr
904 
905  integer :: info
906 
907  call thread_barrierattr_destroy(attr,info)
908  forthread_barrierattr_destroy=info

◆ forthread_barrierattr_getpshared()

integer function forthread_mod::forthread_barrierattr_getpshared ( integer, intent(in)  attr,
integer, intent(out)  pshared 
)

Definition at line 920 of file forthread.F90.

921  integer, intent(in) :: attr
922  integer, intent(out) :: pshared
923 
924  integer :: info
925 
926  call thread_barrierattr_getpshared(attr,pshared,info)
927  forthread_barrierattr_getpshared=info

◆ forthread_barrierattr_init()

integer function forthread_mod::forthread_barrierattr_init ( integer, intent(in)  attr)

Definition at line 911 of file forthread.F90.

912  integer, intent(in) :: attr
913 
914  integer :: info
915 
916  call thread_barrierattr_init(attr,info)
917  forthread_barrierattr_init=info

◆ forthread_barrierattr_setpshared()

integer function forthread_mod::forthread_barrierattr_setpshared ( integer, intent(in)  attr,
integer, intent(in)  pshared 
)

Definition at line 930 of file forthread.F90.

931  integer, intent(in) :: attr, pshared
932  integer :: info
933 
934  call thread_barrierattr_setpshared(attr,pshared,info)
935  forthread_barrierattr_setpshared=info

◆ forthread_cancel()

integer function forthread_mod::forthread_cancel ( integer, intent(in)  thread_id)

Definition at line 104 of file forthread.F90.

105  integer, intent(in) :: thread_id
106 
107  integer :: info
108 
109  call thread_cancel(thread_id,info)
110  forthread_cancel=info

◆ forthread_cond_broadcast()

integer function forthread_mod::forthread_cond_broadcast ( integer, intent(in)  cond_id)

Definition at line 384 of file forthread.F90.

385  integer, intent(in) :: cond_id
386 
387  integer :: info
388 
389  call thread_cond_broadcast(cond_id,info)
390  forthread_cond_broadcast=info

◆ forthread_cond_destroy()

integer function forthread_mod::forthread_cond_destroy ( integer, intent(in)  cond_id)

Definition at line 346 of file forthread.F90.

347  integer, intent(in) :: cond_id
348 
349  integer :: info
350 
351  call thread_cond_destroy(cond_id,info)
352  forthread_cond_destroy=info
Here is the caller graph for this function:

◆ forthread_cond_init()

integer function forthread_mod::forthread_cond_init ( integer, intent(out)  cond_id,
integer, intent(in)  attr_id 
)

Definition at line 355 of file forthread.F90.

356  integer, intent(out) :: cond_id
357  integer, intent(in) :: attr_id
358 
359  integer :: info
360 
361  call thread_cond_init(cond_id,attr_id,info)
362  forthread_cond_init=info
Here is the caller graph for this function:

◆ forthread_cond_signal()

integer function forthread_mod::forthread_cond_signal ( integer, intent(in)  cond_id)

Definition at line 393 of file forthread.F90.

394  integer, intent(in) :: cond_id
395 
396  integer :: info
397 
398  call thread_cond_signal(cond_id,info)
399  forthread_cond_signal=info
Here is the caller graph for this function:

◆ forthread_cond_timedwait()

integer function forthread_mod::forthread_cond_timedwait ( integer, intent(in)  mutex,
type(timespec), intent(in)  abstime 
)

Definition at line 365 of file forthread.F90.

366  integer, intent(in) :: mutex
367  type(timespec), intent(in) :: abstime
368 
369  integer :: info
370 
371  call thread_cond_timedwait(mutex,abstime,info)
372  forthread_cond_timedwait=info

◆ forthread_cond_wait()

integer function forthread_mod::forthread_cond_wait ( integer, intent(in)  cond_id,
integer, intent(in)  mutex_id 
)

Definition at line 375 of file forthread.F90.

376  integer, intent(in) :: cond_id, mutex_id
377 
378  integer :: info
379 
380  call thread_cond_wait(cond_id,mutex_id,info)
381  forthread_cond_wait=info
Here is the caller graph for this function:

◆ forthread_condattr_destroy()

integer function forthread_mod::forthread_condattr_destroy ( integer, intent(in)  attr)

Definition at line 840 of file forthread.F90.

841  integer, intent(in) :: attr
842 
843  integer :: info
844 
845  call thread_condattr_destroy(attr,info)
846  forthread_condattr_destroy=info

◆ forthread_condattr_getclock()

integer function forthread_mod::forthread_condattr_getclock ( integer, intent(in)  attr,
integer, intent(out)  clock_id 
)

Definition at line 878 of file forthread.F90.

879  integer, intent(in) :: attr
880  integer, intent(out) :: clock_id
881 
882  integer :: info
883 
884  call thread_condattr_getclock(attr,clock_id,info)
885  forthread_condattr_getclock=info

◆ forthread_condattr_getpshared()

integer function forthread_mod::forthread_condattr_getpshared ( integer, intent(in)  attr,
integer, intent(out)  pshared 
)

Definition at line 858 of file forthread.F90.

859  integer, intent(in) :: attr
860  integer, intent(out) :: pshared
861 
862  integer :: info
863 
864  call thread_condattr_getpshared(attr,pshared,info)
865  forthread_condattr_getpshared=info

◆ forthread_condattr_init()

integer function forthread_mod::forthread_condattr_init ( integer, intent(in)  attr)

Definition at line 849 of file forthread.F90.

850  integer, intent(in) :: attr
851 
852  integer :: info
853 
854  call thread_condattr_init(attr,info)
855  forthread_condattr_init=info

◆ forthread_condattr_setclock()

integer function forthread_mod::forthread_condattr_setclock ( integer, intent(in)  attr,
integer, intent(in)  clock_id 
)

Definition at line 888 of file forthread.F90.

889  integer, intent(in) :: attr
890  integer, intent(in) :: clock_id
891 
892  integer :: info
893 
894  call thread_condattr_setclock(attr,clock_id,info)
895  forthread_condattr_setclock=info

◆ forthread_condattr_setpshared()

integer function forthread_mod::forthread_condattr_setpshared ( integer, intent(in)  attr,
integer, intent(in)  pshared 
)

Definition at line 868 of file forthread.F90.

869  integer, intent(in) :: attr, pshared
870 
871  integer :: info
872 
873  call thread_condattr_setpshared(attr,pshared,info)
874  forthread_condattr_setpshared=info

◆ forthread_create()

integer function forthread_mod::forthread_create ( integer, intent(out)  thread_id,
integer, intent(in)  attr_id,
procedure(i_run run,
integer, target  arg 
)

Definition at line 32 of file forthread.F90.

33  integer, intent(out) :: thread_id
34  integer, intent(in) :: attr_id
35  procedure(i_run) :: run !type i_run
36  integer, target :: arg
37 
38  integer :: i, info
39  procedure(i_start_routine), bind(c), pointer :: start_routinep
40  type(ptr_t_run), dimension(:), pointer :: tmp
41  type(t_run), pointer :: runp
42  call thread_mutex_lock(routine_table_mutex,info)
43 
44  call thread_alloc(thread_id,info)
45  if (thread_id.gt.routine_table_size) then
46  nullify(tmp)
47  allocate(tmp(routine_table_size*2))
48  do i=1,routine_table_size
49  tmp(i) = routine_table(i)
50  enddo
51  deallocate(routine_table)
52  routine_table => tmp
53  routine_table_size = routine_table_size*2
54  endif
55  allocate(routine_table(thread_id)%t)
56  routine_table(thread_id)%t%run => run
57  routine_table(thread_id)%t%arg => arg
58  start_routinep => start_routine
59 
60  call thread_create(thread_id,attr_id,c_funloc(start_routinep),&
61  c_loc(routine_table(thread_id)%t),info)
62 
63  call thread_mutex_unlock(routine_table_mutex,info)
64  forthread_create=info
Here is the call graph for this function:
Here is the caller graph for this function:

◆ forthread_destroy()

integer function forthread_mod::forthread_destroy

Definition at line 22 of file forthread.F90.

23  integer :: info
24 
25  deallocate(routine_table)
26  routine_table_size = 0
27  call thread_mutex_destroy(routine_table_mutex,info)
28  call thread_destroy(info)
29  forthread_destroy=info
Here is the caller graph for this function:

◆ forthread_detach()

integer function forthread_mod::forthread_detach ( integer, intent(in)  thread_id)

Definition at line 67 of file forthread.F90.

68  integer, intent(in) :: thread_id
69 
70  integer :: info
71 
72  call thread_detach(thread_id,info)
73  forthread_detach=info

◆ forthread_equal()

integer function forthread_mod::forthread_equal ( integer, intent(in)  t1,
integer, intent(in)  t2 
)

Definition at line 76 of file forthread.F90.

77  integer, intent(in) :: t1, t2
78 
79  integer :: info
80 
81  call thread_equal(t1,t2,info)
82  forthread_equal=info

◆ forthread_exit()

subroutine forthread_mod::forthread_exit ( integer, pointer  val)

Definition at line 86 of file forthread.F90.

87  integer, pointer :: val
88 
89  call thread_exit(c_loc(val))

◆ forthread_getconcurrency()

integer function forthread_mod::forthread_getconcurrency ( integer, intent(out)  currlevel)

Definition at line 145 of file forthread.F90.

146  integer, intent(out) :: currlevel
147 
148  integer :: info
149 
150  call thread_getconcurrency(currlevel,info)
151  forthread_getconcurrency=info

◆ forthread_getcpuclockid()

integer function forthread_mod::forthread_getcpuclockid ( integer, intent(in)  thread,
integer, intent(out)  clock_id 
)

Definition at line 164 of file forthread.F90.

165  integer, intent(in) :: thread
166  integer, intent(out) :: clock_id
167 
168  integer :: info
169 
170  call thread_getcpuclockid(thread,clock_id,info)
171  forthread_getcpuclockid=info

◆ forthread_getschedparam()

integer function forthread_mod::forthread_getschedparam ( integer, intent(in)  thread,
integer, intent(out)  policy,
type(sched_param), intent(out)  param 
)

Definition at line 175 of file forthread.F90.

176  integer, intent(in) :: thread
177  integer, intent(out) :: policy
178  type(sched_param), intent(out) :: param
179 
180  integer :: info
181 
182  call thread_getschedparam(thread,policy,param,info)
183  forthread_getschedparam=info

◆ forthread_init()

integer function forthread_mod::forthread_init

Definition at line 10 of file forthread.F90.

11  integer :: info
12 
13  allocate(routine_table(init_size))
14  routine_table_size = init_size
15 
16  call thread_init(info)
17 
18  call thread_mutex_init(routine_table_mutex,-1,info)
19  forthread_init=info
Here is the caller graph for this function:

◆ forthread_join()

integer function forthread_mod::forthread_join ( integer, intent(in)  thread_id,
integer, pointer  val 
)

Definition at line 92 of file forthread.F90.

93  integer, intent(in) :: thread_id
94  integer, pointer:: val
95 
96  integer :: info
97 
98  type(c_ptr) :: value_ptr
99  call thread_join(thread_id,value_ptr,info)
100  call c_f_pointer(value_ptr,val)
101  forthread_join=info
Here is the caller graph for this function:

◆ forthread_key_create()

integer function forthread_mod::forthread_key_create ( integer, intent(out)  key_id,
procedure(i_destructor destructor 
)

Definition at line 240 of file forthread.F90.

241  integer, intent(out) :: key_id
242  procedure(i_destructor) :: destructor
243  ! dangerous but works! (gfortran)
244  ! TODO test in other compilers
245 
246  integer :: info
247 
248  call thread_key_create(key_id,c_funloc(destructor),info)
249  forthread_key_create=info

◆ forthread_key_delete()

integer function forthread_mod::forthread_key_delete ( integer, intent(in)  key_id)

Definition at line 231 of file forthread.F90.

232  integer, intent(in) :: key_id
233 
234  integer :: info
235 
236  call thread_key_delete(key_id,info)
237  forthread_key_delete=info

◆ forthread_kill()

integer function forthread_mod::forthread_kill ( integer, intent(in)  thread_id,
integer, intent(in)  sig 
)

Definition at line 113 of file forthread.F90.

114  integer, intent(in) :: thread_id, sig
115 
116  integer :: info
117 
118  call thread_kill(thread_id,sig,info)
119  forthread_kill=info

◆ forthread_mutex_destroy()

integer function forthread_mod::forthread_mutex_destroy ( integer, intent(in)  mutex_id)

Definition at line 264 of file forthread.F90.

265  integer, intent(in) :: mutex_id
266 
267  integer :: info
268 
269  call thread_mutex_destroy(mutex_id,info)
270  forthread_mutex_destroy=info
Here is the caller graph for this function:

◆ forthread_mutex_getprioceiling()

integer function forthread_mod::forthread_mutex_getprioceiling ( integer, intent(in)  mutex,
integer, intent(out)  prioceiling 
)

Definition at line 310 of file forthread.F90.

311  integer, intent(in) :: mutex
312  integer, intent(out) :: prioceiling
313 
314  integer :: info
315 
316  call thread_mutex_getprioceiling(mutex,prioceiling,info)
317  forthread_mutex_getprioceiling=info

◆ forthread_mutex_init()

integer function forthread_mod::forthread_mutex_init ( integer, intent(out)  mutex_id,
integer, intent(in)  attr_id 
)

Definition at line 273 of file forthread.F90.

274  integer, intent(out) :: mutex_id
275  integer, intent(in) :: attr_id
276 
277  integer :: info
278 
279  call thread_mutex_init(mutex_id,attr_id,info)
280  forthread_mutex_init=info
Here is the caller graph for this function:

◆ forthread_mutex_lock()

integer function forthread_mod::forthread_mutex_lock ( integer, intent(in)  mutex_id)

Definition at line 283 of file forthread.F90.

284  integer, intent(in) :: mutex_id
285 
286  integer :: info
287 
288  call thread_mutex_lock(mutex_id,info)
289  forthread_mutex_lock=info
Here is the caller graph for this function:

◆ forthread_mutex_setprioceiling()

integer function forthread_mod::forthread_mutex_setprioceiling ( integer, intent(in)  mutex,
integer, intent(in)  prioceiling,
integer, intent(out)  old_ceiling 
)

Definition at line 320 of file forthread.F90.

321  integer, intent(in) :: mutex, prioceiling
322  integer, intent(out) :: old_ceiling
323 
324  integer :: info
325 
326  call thread_mutex_setprioceiling(mutex,prioceiling,old_ceiling,info)
327  forthread_mutex_setprioceiling=info

◆ forthread_mutex_timedlock()

integer function forthread_mod::forthread_mutex_timedlock ( integer, intent(in)  mutex,
type(timespec), intent(in)  abs_timeout 
)

Definition at line 331 of file forthread.F90.

332  integer, intent(in) :: mutex
333  type(timespec), intent(in) :: abs_timeout
334 
335  integer :: info
336 
337  call thread_mutex_timedlock(mutex,abs_timeout,info)
338  forthread_mutex_timedlock=info

◆ forthread_mutex_trylock()

integer function forthread_mod::forthread_mutex_trylock ( integer, intent(in)  mutex_id)

Definition at line 292 of file forthread.F90.

293  integer, intent(in) :: mutex_id
294 
295  integer :: info
296 
297  call thread_mutex_trylock(mutex_id,info)
298  forthread_mutex_trylock=info
Here is the caller graph for this function:

◆ forthread_mutex_unlock()

integer function forthread_mod::forthread_mutex_unlock ( integer, intent(in)  mutex_id)

Definition at line 301 of file forthread.F90.

302  integer, intent(in) :: mutex_id
303 
304  integer :: info
305 
306  call thread_mutex_unlock(mutex_id,info)
307  forthread_mutex_unlock=info
Here is the caller graph for this function:

◆ forthread_mutexattr_destroy()

integer function forthread_mod::forthread_mutexattr_destroy ( integer, intent(in)  attr)

Definition at line 742 of file forthread.F90.

743  integer, intent(in) :: attr
744 
745  integer :: info
746 
747  call thread_mutexattr_destroy(attr,info)
748  forthread_mutexattr_destroy=info

◆ forthread_mutexattr_getprioceiling()

integer function forthread_mod::forthread_mutexattr_getprioceiling ( integer, intent(in)  attr,
integer, intent(out)  prioceiling 
)

Definition at line 779 of file forthread.F90.

780  integer, intent(in) :: attr
781  integer, intent(out) :: prioceiling
782 
783  integer :: info
784 
785  call thread_mutexattr_getprioceiling(attr,prioceiling,info)
786  forthread_mutexattr_getprioceiling=info

◆ forthread_mutexattr_getprotocol()

integer function forthread_mod::forthread_mutexattr_getprotocol ( integer, intent(in)  attr,
integer, intent(out)  protocol 
)

Definition at line 798 of file forthread.F90.

799  integer, intent(in) :: attr
800  integer, intent(out) :: protocol
801 
802  integer :: info
803 
804  call thread_mutexattr_getprotocol(attr,protocol,info)
805  forthread_mutexattr_getprotocol=info

◆ forthread_mutexattr_getpshared()

integer function forthread_mod::forthread_mutexattr_getpshared ( integer, intent(in)  attr,
integer, intent(out)  pshared 
)

Definition at line 760 of file forthread.F90.

761  integer, intent(in) :: attr
762  integer, intent(out) :: pshared
763 
764  integer :: info
765 
766  call thread_mutexattr_getpshared(attr,pshared,info)
767  forthread_mutexattr_getpshared=info

◆ forthread_mutexattr_gettype()

integer function forthread_mod::forthread_mutexattr_gettype ( integer, intent(in)  attr,
integer, intent(out)  mtype 
)

Definition at line 817 of file forthread.F90.

818  integer, intent(in) :: attr
819  integer, intent(out) :: mtype
820 
821  integer :: info
822 
823  call thread_mutexattr_gettype(attr,mtype,info)
824  forthread_mutexattr_gettype=info

◆ forthread_mutexattr_init()

integer function forthread_mod::forthread_mutexattr_init ( integer, intent(in)  attr)

Definition at line 751 of file forthread.F90.

752  integer, intent(in) :: attr
753 
754  integer :: info
755 
756  call thread_mutexattr_init(attr,info)
757  forthread_mutexattr_init=info

◆ forthread_mutexattr_setprioceiling()

integer function forthread_mod::forthread_mutexattr_setprioceiling ( integer, intent(in)  attr,
integer, intent(in)  prioceiling 
)

Definition at line 789 of file forthread.F90.

790  integer, intent(in) :: attr, prioceiling
791 
792  integer :: info
793 
794  call thread_mutexattr_setprioceiling(attr,prioceiling,info)
795  forthread_mutexattr_setprioceiling=info

◆ forthread_mutexattr_setprotocol()

integer function forthread_mod::forthread_mutexattr_setprotocol ( integer, intent(in)  attr,
integer, intent(in)  protocol 
)

Definition at line 808 of file forthread.F90.

809  integer, intent(in) :: attr, protocol
810 
811  integer :: info
812 
813  call thread_mutexattr_setprotocol(attr,protocol,info)
814  forthread_mutexattr_setprotocol=info

◆ forthread_mutexattr_setpshared()

integer function forthread_mod::forthread_mutexattr_setpshared ( integer, intent(in)  attr,
integer, intent(in)  pshared 
)

Definition at line 770 of file forthread.F90.

771  integer , intent(in) :: attr
772  integer , intent(in) :: pshared
773  integer :: info
774 
775  call thread_mutexattr_setpshared(attr,pshared,info)
776  forthread_mutexattr_setpshared=info

◆ forthread_mutexattr_settype()

integer function forthread_mod::forthread_mutexattr_settype ( integer, intent(in)  attr,
integer, intent(in)  mtype 
)

Definition at line 827 of file forthread.F90.

828  integer, intent(in) :: attr, mtype
829 
830  integer :: info
831 
832  call thread_mutexattr_settype(attr,mtype,info)
833  forthread_mutexattr_settype=info

◆ forthread_once()

integer function forthread_mod::forthread_once ( integer, intent(in)  once_ctrl_id,
procedure(i_once init_routine 
)

Definition at line 131 of file forthread.F90.

132  integer, intent(in) :: once_ctrl_id
133  procedure(i_once) :: init_routine
134  ! dangerous but works! (gfortran)
135  ! TODO test in other compilers
136 
137  integer :: info
138 
139  call thread_once(once_ctrl_id,c_funloc(init_routine),info)
140  forthread_once=info

◆ forthread_once_init()

integer function forthread_mod::forthread_once_init ( integer, intent(out)  once_ctrl_id)

Definition at line 122 of file forthread.F90.

123  integer, intent(out) :: once_ctrl_id
124 
125  integer :: info
126 
127  call thread_once_init(once_ctrl_id,info)
128  forthread_once_init=info

◆ forthread_rwlock_destroy()

integer function forthread_mod::forthread_rwlock_destroy ( integer, intent(in)  rwlock_id)

Definition at line 494 of file forthread.F90.

495  integer, intent(in) :: rwlock_id
496 
497  integer :: info
498 
499  call thread_rwlock_destroy(rwlock_id,info)
500  forthread_rwlock_destroy=info
Here is the caller graph for this function:

◆ forthread_rwlock_init()

integer function forthread_mod::forthread_rwlock_init ( integer, intent(out)  rwlock_id,
integer, intent(in)  attr_id 
)

Definition at line 503 of file forthread.F90.

504  integer, intent(out) :: rwlock_id
505  integer, intent(in) :: attr_id
506 
507  integer :: info
508 
509  call thread_rwlock_init(rwlock_id,attr_id,info)
510  forthread_rwlock_init=info
Here is the caller graph for this function:

◆ forthread_rwlock_rdlock()

integer function forthread_mod::forthread_rwlock_rdlock ( integer, intent(in)  lock_id)

Definition at line 513 of file forthread.F90.

514  integer, intent(in) :: lock_id
515 
516  integer :: info
517 
518  call thread_rwlock_rdlock(lock_id,info)
519  forthread_rwlock_rdlock=info
Here is the caller graph for this function:

◆ forthread_rwlock_timedrdlock()

integer function forthread_mod::forthread_rwlock_timedrdlock ( integer, intent(in)  lock_id,
type(timespec), intent(in)  abs_timeout 
)

Definition at line 559 of file forthread.F90.

560  integer, intent(in) :: lock_id
561  type(timespec), intent(in) :: abs_timeout
562 
563  integer :: info
564 
565  call thread_rwlock_timedrdlock(lock_id,abs_timeout,info)
566  forthread_rwlock_timedrdlock=info

◆ forthread_rwlock_timedwrlock()

integer function forthread_mod::forthread_rwlock_timedwrlock ( integer, intent(in)  lock_id,
type(timespec), intent(in)  abs_timeout 
)

Definition at line 569 of file forthread.F90.

570  integer, intent(in) :: lock_id
571  type(timespec), intent(in) :: abs_timeout
572 
573  integer :: info
574 
575  call thread_rwlock_timedwrlock(lock_id,abs_timeout,info)
576  forthread_rwlock_timedwrlock=info

◆ forthread_rwlock_tryrdlock()

integer function forthread_mod::forthread_rwlock_tryrdlock ( integer, intent(in)  lock_id)

Definition at line 522 of file forthread.F90.

523  integer, intent(in) :: lock_id
524 
525  integer :: info
526 
527  call thread_rwlock_tryrdlock(lock_id,info)
528  forthread_rwlock_tryrdlock=info

◆ forthread_rwlock_trywrlock()

integer function forthread_mod::forthread_rwlock_trywrlock ( integer, intent(in)  lock_id)

Definition at line 540 of file forthread.F90.

541  integer, intent(in) :: lock_id
542 
543  integer :: info
544 
545  call thread_rwlock_trywrlock(lock_id,info)
546  forthread_rwlock_trywrlock=info

◆ forthread_rwlock_unlock()

integer function forthread_mod::forthread_rwlock_unlock ( integer, intent(in)  lock_id)

Definition at line 549 of file forthread.F90.

550  integer, intent(in) :: lock_id
551 
552  integer :: info
553 
554  call thread_rwlock_unlock(lock_id,info)
555  forthread_rwlock_unlock=info
Here is the caller graph for this function:

◆ forthread_rwlock_wrlock()

integer function forthread_mod::forthread_rwlock_wrlock ( integer, intent(in)  lock_id)

Definition at line 531 of file forthread.F90.

532  integer, intent(in) :: lock_id
533 
534  integer :: info
535 
536  call thread_rwlock_wrlock(lock_id,info)
537  forthread_rwlock_wrlock=info
Here is the caller graph for this function:

◆ forthread_rwlockattr_destroy()

integer function forthread_mod::forthread_rwlockattr_destroy ( integer, intent(in)  attr)

Definition at line 943 of file forthread.F90.

944  integer, intent(in) :: attr
945  integer :: info
946 
947  call thread_rwlockattr_destroy(attr,info)
948  forthread_rwlockattr_destroy=info

◆ forthread_rwlockattr_getpshared()

integer function forthread_mod::forthread_rwlockattr_getpshared ( integer, intent(in)  attr,
integer, intent(out)  pshared 
)

Definition at line 959 of file forthread.F90.

960  integer, intent(in) :: attr
961  integer, intent(out) :: pshared
962  integer :: info
963 
964  call thread_rwlockattr_getpshared(attr,pshared,info)
965  forthread_rwlockattr_getpshared=info

◆ forthread_rwlockattr_init()

integer function forthread_mod::forthread_rwlockattr_init ( integer, intent(in)  attr)

Definition at line 951 of file forthread.F90.

952  integer, intent(in) :: attr
953  integer :: info
954 
955  call thread_rwlockattr_init(attr,info)
956  forthread_rwlockattr_init=info

◆ forthread_rwlockattr_setpshared()

integer function forthread_mod::forthread_rwlockattr_setpshared ( integer, intent(in)  attr,
integer, intent(in)  pshared 
)

Definition at line 968 of file forthread.F90.

969  integer, intent(in) :: attr, pshared
970  integer :: info
971 
972  call thread_rwlockattr_setpshared(attr,pshared,info)
973  forthread_rwlockattr_setpshared=info

◆ forthread_setcancelstate()

integer function forthread_mod::forthread_setcancelstate ( integer, intent(in)  state,
integer, intent(out)  oldstate 
)

Definition at line 207 of file forthread.F90.

208  integer, intent(in) :: state
209  integer, intent(out) :: oldstate
210 
211  integer :: info
212 
213  call thread_setcancelstate(state,oldstate,info)
214  forthread_setcancelstate=info

◆ forthread_setcanceltype()

integer function forthread_mod::forthread_setcanceltype ( integer, intent(in)  ctype,
integer, intent(out)  oldctype 
)

Definition at line 217 of file forthread.F90.

218  integer, intent(in) :: ctype
219  integer, intent(out) :: oldctype
220 
221  integer :: info
222 
223  call thread_setcanceltype(ctype,oldctype,info)
224  forthread_setcanceltype=info

◆ forthread_setconcurrency()

integer function forthread_mod::forthread_setconcurrency ( integer, intent(in)  newlevel)

Definition at line 154 of file forthread.F90.

155  integer, intent(in) :: newlevel
156 
157  integer :: info
158 
159  call thread_setconcurrency(newlevel,info)
160  forthread_setconcurrency=info

◆ forthread_setschedparam()

integer function forthread_mod::forthread_setschedparam ( integer, intent(in)  thread,
integer, intent(in)  policy,
type(sched_param), intent(in)  param 
)

Definition at line 186 of file forthread.F90.

187  integer, intent(in) :: thread, policy
188  type(sched_param), intent(in) :: param
189 
190  integer :: info
191 
192  call thread_setschedparam(thread,policy,param,info)
193  forthread_setschedparam=info

◆ forthread_setschedprio()

integer function forthread_mod::forthread_setschedprio ( integer, intent(in)  thread,
integer, intent(in)  prio 
)

Definition at line 197 of file forthread.F90.

198  integer, intent(in) :: thread, prio
199 
200  integer :: info
201 
202  call thread_setschedprio(thread,prio,info)
203  forthread_setschedprio=info

◆ forthread_spin_destroy()

integer function forthread_mod::forthread_spin_destroy ( integer, intent(in)  spinlock_id)

Definition at line 441 of file forthread.F90.

442  integer, intent(in) :: spinlock_id
443 
444  integer :: info
445 
446  call thread_spin_destroy(spinlock_id,info)
447  forthread_spin_destroy=info

◆ forthread_spin_init()

integer function forthread_mod::forthread_spin_init ( integer, intent(out)  spinlock_id,
integer, intent(in)  pshared 
)

Definition at line 450 of file forthread.F90.

451  integer, intent(out) :: spinlock_id
452  integer, intent(in) :: pshared
453 
454  integer :: info
455 
456  call thread_spin_init(spinlock_id,pshared,info)
457  forthread_spin_init=info

◆ forthread_spin_lock()

integer function forthread_mod::forthread_spin_lock ( integer, intent(in)  lock_id)

Definition at line 460 of file forthread.F90.

461  integer, intent(in) :: lock_id
462 
463  integer :: info
464 
465  call thread_spin_lock(lock_id,info)
466  forthread_spin_lock=info

◆ forthread_spin_trylock()

integer function forthread_mod::forthread_spin_trylock ( integer, intent(in)  lock_id)

Definition at line 469 of file forthread.F90.

470  integer, intent(in) :: lock_id
471 
472  integer :: info
473 
474  call thread_spin_trylock(lock_id,info)
475  forthread_spin_trylock=info

◆ forthread_spin_unlock()

integer function forthread_mod::forthread_spin_unlock ( integer, intent(in)  lock_id)

Definition at line 478 of file forthread.F90.

479  integer, intent(in) :: lock_id
480 
481  integer :: info
482 
483  call thread_spin_unlock(lock_id,info)
484  forthread_spin_unlock=info