/[eiffelstudio]/branches/eth/eve/Src/library/thread/classic/thread.e
ViewVC logotype

Log of /branches/eth/eve/Src/library/thread/classic/thread.e

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 92811 - (view) (annotate) - [select for diffs]
Modified Fri Jul 26 04:35:53 2013 UTC (6 years, 2 months ago) by jasonw
File length: 5831 byte(s)
Diff to previous 88274
<<Merged from trunk#92810.>>

Revision 88274 - (view) (annotate) - [select for diffs]
Modified Mon Feb 6 16:05:31 2012 UTC (7 years, 8 months ago) by jasonw
File length: 5807 byte(s)
Diff to previous 87613
<<Merged from trunk#88273.>>


Revision 87613 - (view) (annotate) - [select for diffs]
Modified Wed Oct 26 06:49:40 2011 UTC (7 years, 11 months ago) by jasonw
File length: 6317 byte(s)
Diff to previous 86893
<<Merged from trunk#87612.>>

Revision 86893 - (view) (annotate) - [select for diffs]
Modified Fri Jul 22 10:14:02 2011 UTC (8 years, 2 months ago) by jasonw
File length: 6190 byte(s)
Diff to previous 83441
<<Merged from trunk#86892.>>

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: 6208 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/library/thread/classic/thread.e
File length: 6208 byte(s)
Diff to previous 82581
<<Breanched from trunk@83330>> Created a branch to upgrade Eiffel Transform library to trunk.

Revision 82581 - (view) (annotate) - [select for diffs]
Modified Tue Mar 16 03:07:44 2010 UTC (9 years, 7 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 6208 byte(s)
Diff to previous 82180
Moved the experimental branch to be the default for libraries.


Revision 82180 - (view) (annotate) - [select for diffs]
Modified Wed Jan 27 20:14:26 2010 UTC (9 years, 8 months ago) by manus
Original Path: trunk/Src/experimental/library/thread/classic/thread.e
File length: 6208 byte(s)
Diff to previous 81920
Took into account various comments of the EiffelThread code review held on 2010-01-26:
* Removal of obsolete features `default_create'.
* Relax preconditions using `{PLATFORM}.is_thread_capable so that most synchronization objects can be used in non-multithreaded mode. It is only kept for the THREAD and WORKER_THREAD classes.
* Fixed eweasel test#thread014 where calling `launch' from various threads on the same THREAD object was actually not thread safe due to `launch_mutex' being created more than once. Also fixed an error where we could launch twice the same thread because we were checking the wrong query in `launch_with_attributes'.
* Typos/cosmetics/comments.


Revision 81920 - (view) (annotate) - [select for diffs]
Modified Wed Dec 23 22:43:28 2009 UTC (9 years, 9 months ago) by manus
Original Path: trunk/Src/experimental/library/thread/classic/thread.e
File length: 6273 byte(s)
Diff to previous 79072
* 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 79072 - (view) (annotate) - [select for diffs]
Modified Wed Jun 3 23:37:10 2009 UTC (10 years, 4 months ago) by manus
Original Path: trunk/Src/experimental/library/thread/classic/thread.e
File length: 1959 byte(s)
Diff to previous 76420
Copy of $EIFFEL_SRC/library that will contain the void-safe SPECIAL changes.


Revision 76420 - (view) (annotate) - [select for diffs]
Modified Mon Dec 29 20:27:11 2008 UTC (10 years, 9 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1959 byte(s)
Diff to previous 76384
Removal of `is' keyword.
Replacement of `is' by `=' for constant definitions.
Replaced `indexing' by `note'.


Revision 76384 - (view) (annotate) - [select for diffs]
Modified Wed Dec 24 20:06:43 2008 UTC (10 years, 9 months ago) by fivaa
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1963 byte(s)
Diff to previous 71992
Modified classic implementation of thread library to be void-safe, changes include:

* adding config file thread-safe.ecf with void safe and full class checking options enabled
* removed or replaced "is" keywords
* updated license information
* added project for future unit tests

Note: no implementation changes were necessary to enable void safety


Revision 71992 - (view) (annotate) - [select for diffs]
Modified Sat Jan 19 21:59:44 2008 UTC (11 years, 8 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1992 byte(s)
Diff to previous 71976
Cosmetics.


Revision 71976 - (view) (annotate) - [select for diffs]
Modified Fri Jan 18 21:55:37 2008 UTC (11 years, 8 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1995 byte(s)
Diff to previous 71481
Updated to new signature of `eif_thr_create_with_args'.


Revision 71481 - (view) (annotate) - [select for diffs]
Modified Thu Dec 13 03:59:54 2007 UTC (11 years, 10 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1993 byte(s)
Diff to previous 68619
Removed obsolete routine `create_thread' since now we only use `create_thread_with_args'.


Revision 68619 - (view) (annotate) - [select for diffs]
Modified Wed May 23 21:53:11 2007 UTC (12 years, 4 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2237 byte(s)
Diff to previous 63619
Ensured that threads are by default detached when calling `launch' since otherwise the Linux
  thread implementation will be limited to launch 2^15 threads at most because we do not call the
  native `join' C routines.


Revision 63619 - (view) (annotate) - [select for diffs]
Modified Sat Sep 16 00:19:31 2006 UTC (13 years, 1 month ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2202 byte(s)
Diff to previous 58612
Ensured to set `terminated' to False when starting a thread, otherwise `join' does not work.


Revision 58612 - (view) (annotate) - [select for diffs]
Modified Mon May 1 18:49:43 2006 UTC (13 years, 5 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2156 byte(s)
Diff to previous 57887
Reverted back to version 56675 for setting `thread_id' also when starting a
  thread. As otherwise the parent thread can not get an accurate value for
  the thread_id of the child thread. This fixes an issue in the `emake' utility
  which is using the process library which is using `thread_id' for waiting.


Revision 57887 - (view) (annotate) - [select for diffs]
Modified Thu Mar 30 00:19:44 2006 UTC (13 years, 6 months ago) by king
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2084 byte(s)
Diff to previous 56675
Tidied up, added obsolete features where needs be, added assertions incase threading is not available by runtime

Revision 56675 - (view) (annotate) - [select for diffs]
Modified Mon Jan 23 02:25:44 2006 UTC (13 years, 8 months ago) by manus
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 1961 byte(s)
Diff to previous 43844
Added Eiffel Forum License Version 2 and missing copyright statments.


Revision 43844 - (view) (annotate) - [select for diffs]
Modified Wed Jun 16 19:58:45 2004 UTC (15 years, 4 months ago) by rogers
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2332 byte(s)
Diff to previous 37005
Updated copyright status.


Revision 37005 - (view) (annotate) - [select for diffs]
Modified Fri Apr 25 22:53:21 2003 UTC (16 years, 5 months ago) by jfiat
Original Path: trunk/Src/library/thread/classic/thread.e
File length: 2297 byte(s)
Copied from: trunk/Src/library/thread/thread.e revision 37004
Diff to previous 32598
moving many classes under classic sub-cluster


Revision 32598 - (view) (annotate) - [select for diffs]
Modified Thu Jun 27 18:22:37 2002 UTC (17 years, 3 months ago) by manus
Original Path: trunk/Src/library/thread/thread.e
File length: 2297 byte(s)
Diff to previous 26516
We do not pass the Eiffel object directly now, we pass its protected reference
to perform thread operation.


Revision 26516 - (view) (annotate) - [select for diffs]
Modified Sat Jul 14 11:28:52 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/library/thread/thread.e
File length: 2307 byte(s)
Diff to previous 25845
Updated copyright notice with new ISE address and new support location.


Revision 25845 - (view) (annotate) - [select for diffs]
Modified Mon Jun 25 23:25:55 2001 UTC (18 years, 3 months ago) by manus
Original Path: trunk/Src/library/thread/thread.e
File length: 2317 byte(s)
Diff to previous 10962
Merged dev50_MT branch into trunc.


Revision 10962 - (view) (annotate) - [select for diffs]
Modified Fri Aug 14 01:49:05 1998 UTC (21 years, 2 months ago) by manuelt
Original Path: trunk/Src/library/thread/thread.e
File length: 2204 byte(s)
Diff to previous 9114
Move get_current_id, last_created_thread, exit to thread_control.e


Revision 9114 - (view) (annotate) - [select for diffs]
Modified Fri Jan 30 21:40:37 1998 UTC (21 years, 8 months ago) by fiat
Original Path: trunk/Src/library/thread/thread.e
File length: 2679 byte(s)
Diff to previous 8360
Copyright updated


Revision 8360 - (view) (annotate) - [select for diffs]
Modified Mon Oct 6 20:09:31 1997 UTC (22 years ago) by paulv
Original Path: trunk/Src/library/thread/thread.e
File length: 2659 byte(s)
Diff to previous 7972
New functionalities for EiffelThread, + problems fixed (memory leaks..)
New classes: CONDITION_VARIABLE, THREAD_ATTRIBUTES, SEMAPHORE, OBJECT_OWNER


Revision 7972 - (view) (annotate) - [select for diffs]
Modified Sun Jun 1 18:19:02 1997 UTC (22 years, 4 months ago) by zorans
Original Path: trunk/Src/library/thread/thread.e
File length: 1359 byte(s)
Diff to previous 7847
Prototype fix for 4.1c


Revision 7847 - (view) (annotate) - [select for diffs]
Added Tue May 6 15:47:34 1997 UTC (22 years, 5 months ago) by zorans
Original Path: trunk/Src/library/thread/thread.e
File length: 1319 byte(s)
Initial revision


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