/[eiffelstudio]/branches/eth/eve/Src/C/run-time/eif_posix_threads.h
ViewVC logotype

Log of /branches/eth/eve/Src/C/run-time/eif_posix_threads.h

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Revision:

Revision 94983 - (view) (annotate) - [select for diffs]
Modified Fri May 2 11:05:28 2014 UTC (5 years, 5 months ago) by jasonw
File length: 8858 byte(s)
Diff to previous 92499
<<Merged from trunk#94978.>>

Revision 92499 - (view) (annotate) - [select for diffs]
Modified Fri Apr 26 23:06:21 2013 UTC (6 years, 5 months ago) by jasonw
File length: 8827 byte(s)
Diff to previous 88968
<<Merged from trunk#92492.>>

Revision 88968 - (view) (annotate) - [select for diffs]
Modified Fri Jun 22 10:24:51 2012 UTC (7 years, 4 months ago) by jasonw
File length: 8678 byte(s)
Diff to previous 88881
<<Merged from trunk#88964.>>


Revision 88881 - (view) (annotate) - [select for diffs]
Modified Fri Jun 15 12:21:45 2012 UTC (7 years, 4 months ago) by jasonw
File length: 8688 byte(s)
Diff to previous 88173
<<Merged from trunk#88880.>>

Revision 88173 - (view) (annotate) - [select for diffs]
Modified Fri Jan 13 02:09:08 2012 UTC (7 years, 9 months ago) by jasonw
File length: 8608 byte(s)
Diff to previous 83441
<<Merged from trunk#88172.>>

Revision 83441 - (view) (annotate) - [select for diffs]
Modified Sat Jun 5 13:52:53 2010 UTC (9 years, 4 months ago) by jasonw
File length: 8544 byte(s)
Diff to previous 83331
Renamed branch eve3 to eve. The eve branch serves as the new branch for the EVE project.

Revision 83331 - (view) (annotate) - [select for diffs]
Modified Wed May 26 18:49:35 2010 UTC (9 years, 4 months ago) by jasonw
Original Path: branches/eth/eve3/Src/C/run-time/eif_posix_threads.h
File length: 8544 byte(s)
Diff to previous 81989
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 81989 - (view) (annotate) - [select for diffs]
Modified Tue Jan 5 22:02:14 2010 UTC (9 years, 9 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_posix_threads.h
File length: 8544 byte(s)
Diff to previous 81920
Added `eif_pthread_is_alive' which is necessary to fix eweasel test#thread012 by detecting that a running thread has been killed outside the Eiffel environment.


Revision 81920 - (view) (annotate) - [select for diffs]
Modified Wed Dec 23 22:43:28 2009 UTC (9 years, 10 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_posix_threads.h
File length: 8487 byte(s)
Diff to previous 81852
* Because of a HANDLE memory leak on Windows and also because we never used the argument of `eif_pthread_exit', I've removed it and replaced it by the thread ID of the thread we want to exit. That wait just before exiting on Windows, we can close the HANDLE.
* Changed the implementation of MUTEX on Windows to use CRITICAL_SECTION instead of Windows Mutex since they are more efficient, especially in multi CPUs machines.
* Renamed `eif_thr_create_with_args' into `eif_thr_create_with_attr' that directly take the argument to create the thread from the EIF_THR_ATTR_TYPE structure (initialized in the Eiffel code via the THREAD_ATTRIBUTES class).
* Redesigned THREAD_ATTRIBUTES to only support `priority' and `stack_size', made the existing queries obsolete.
* Added `owner' query in MUTEX to help during debugging.
* Made the THREAD class thread safe. In particular, now you cannot reuse the same THREAD instance to launch several threads. Added assertion to ensure that. Also `thread_id' is now safely initialized and is available in both parent and child thread as soon as they get control to the THREAD instance.
* Ensured that `exit' in THREAD is only called from withing a thread.
* Added `is_last_launch_successful' in THREAD to let clients if the thread was successfully launched or not.
* Added `join_with_timeout' in THREAD.
* Moved most features of THREAD_CONTROL to THREAD.
* Added THREAD_ENVIRONMENT to get the current_thread_id.
* Renamed the release_*_lock routine to match the name used in the acquire_*_lock and made the old names obsolete.


Revision 81852 - (view) (annotate) - [select for diffs]
Added Thu Dec 17 20:18:28 2009 UTC (9 years, 10 months ago) by manus
Original Path: trunk/Src/C/run-time/eif_posix_threads.h
File length: 8470 byte(s)
Revamped in internals of multiplatform threading API:
* Exported `eif_pthread_xxx' calls which are platform independent implementations of the various POSIX threads. Instead of raising an exception, those routines only returns an error code (defined in eif_error.h).
* Renamed LW_MUTEX into CS (Critical Section) and made it available to the outside world (i.e. not just the runtime internals, although there is not yet an Eiffel class wrapper for them).
* Added the RT_TRACE and RT_TRACE_KEEP which are by default no-ops but that could be defined to monitor execution of routines returning an error code when they return something else than T_OK.
* Reimplemented condition variable on Windows (using code from the Apache Runtime Library).
* Added _GNU_SOURCE definition on Linux platform so that we can get the definition for pthread_rwlock_t type even on older Linux version that we use (Fedora Core 2).
* Removed `eif_cond_var.[ch]' and `eif_rw_lock.c' as now everything is implemented in `posix_threads.c'.
* Removed EIF_DFLT_SIGVTALARM in sig.c because it was only used when EIF_PCTHREADS was defined and we never did.
* Changed signature of `eif_thr_entry' since now we have only one signature for all our platforms via `eif_pthread_create'.
* Implemented `eif_sleep' for VxWorks too. 
* Implemented `eif_pthread_yield' for all our platforms.
* All platforms supports `eif_thr_join_all' so removed the usage of the platform specific one.
* Defined our own Eiffel priority whose values are between 0 and 255.
* Ensured that our mutexes are recursive on all platforms.
* Ensured that threads are always created detached (the Eiffel code does not yet reflect that).


This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

  ViewVC Help
Powered by ViewVC 1.1.23