Commit Graph

146 Commits

Author SHA1 Message Date
Vítor Santos Costa
0d45ff8d37 unlock threads while in zombie mode, nad enusre that the GlobalLock is always asked before and let after locking a thread. 2013-11-12 08:43:45 +00:00
Vítor Santos Costa
e813c75814 enable thread debugging 2013-11-12 08:34:26 +00:00
Vítor Santos Costa
bef9cec46a fix startup module on new thread to be user module 2013-09-28 23:20:39 +01:00
Vítor Santos Costa
1eab4bc936 fix case new thread is created from thread that never had a thread installed 2013-09-17 00:26:37 +01:00
Vitor Santos Costa
9107af2e3d improve thread startup 2012-12-13 18:12:50 +00:00
Vitor Santos Costa
e41f821d67 improve multi-threading support from C-interface. Still not quite there. 2012-12-11 22:07:10 +00:00
Vitor Santos Costa
62aa6df644 fix bad register initialization. 2012-12-10 12:12:54 +00:00
Vitor Santos Costa
e92b8791c5 Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2012-10-19 18:12:06 +01:00
Vitor Santos Costa
88f2dc7730 change the way predicates are hidden 2012-10-19 18:10:48 +01:00
Vítor Santos Costa
27737c31bd fix debug messages 2012-10-19 09:28:13 +01:00
Vitor Santos Costa
2d71a96d54 support mingw emulation. 2012-06-29 15:37:31 -05:00
Ricardo Rocha
26e6281bb7 fix PgEnt_strs_in_use counter 2012-05-22 14:47:47 +01:00
Ricardo Rocha
1dcc8bd393 adptation of the memory allocator based on pages to work with threads 2012-05-14 19:11:58 +01:00
Ricardo Rocha
c594d321ef Miguel's support for multi-threaded tabling 2011-12-22 16:50:20 +00:00
Vítor Santos Costa
84b017e5fd fix small problems in thread package. 2011-12-01 11:05:27 +00:00
Vítor Santos Costa
0b81d99803 initialise thread local prredicates. 2011-11-30 13:03:22 +00:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
b6aca9463d Merge branch 'master' of ssh://yap.git.sourceforge.net/gitroot/yap/yap-6.3 2011-08-18 22:35:13 +01:00
Ricardo Rocha
efc59cf8d6 DepFr_cons field initialization for threads 2011-07-26 16:49:49 +01:00
U-WIN-U2045GN0RNQ\Vítor Santos Costa
840e287cda mode changes 2011-07-25 17:09:28 +01:00
Vítor Santos Costa
03fe3285e9 fix warnings. 2011-06-06 10:32:58 +01:00
Joao
971ad94311 moved several global variables to misc/GLOBALS 2011-05-25 16:40:36 +01:00
Joao
8170f6d3cb Some global variables(Yap_thread_gl) in C/init.c are now declared in misc/LOCALS 2011-05-23 16:19:47 +01:00
Joao
676dd26c90 change macros in misc/GLOBALS to GLOBAL_. 2011-05-10 10:06:51 +01:00
Ricardo Rocha
026616963c remove FOREIGN_ macros and use REMOTE_ instead 2011-05-09 20:19:49 +01:00
Ricardo Rocha
f22994edf9 remove macro MY_ThreadHandle and use LOCAL_ThreadHandle instead 2011-05-09 19:55:06 +01:00
Ricardo Rocha
a532b6cff3 struct local_optyap_data is now part of struct worker_local (generated from the file LOCALS) 2011-05-09 19:36:51 +01:00
Joao
dc3c54c164 change LOCALS macros. 2011-05-04 10:11:41 +01:00
Joao
f890a11377 change macros GLOBAL to Yap 2011-03-29 18:19:18 +01:00
Joao
6b48f8949f change macro FOREIGN_WL to FOREIGN 2011-03-25 15:21:02 +00:00
Vítor Santos Costa
92af2e8740 ipatch case no more threads are available and alloc top_frame 2011-03-23 15:15:09 +00:00
Vítor Santos Costa
e05b84ce4e fix to thread support. 2011-03-11 19:49:32 +00:00
Vítor Santos Costa
014d903b4f iallows threads to start 2011-03-10 11:05:39 +00:00
Vítor Santos Costa
90d93fdbdd cache abstra machine register in threaded mode. 2011-03-07 16:02:55 +00:00
Vitor Santos Costa
6834ac544b fix thread creation. 2010-07-30 12:08:00 +01:00
Vítor Santos Costa
18d77309a6 c_inp_stream and friends are thread private! 2010-07-27 17:28:58 +01:00
Vítor Santos Costa
5b6014175e support case where engines have no associated pthread 2010-07-25 11:21:15 +01:00
Vitor Santos Costa
f3b9811ef7 more packages to implement better thread interface. 2010-07-23 15:54:13 +01:00
Vitor Santos Costa
eebff5df6a fixes to YAP C-thread interface. 2010-07-23 12:07:33 +01:00
Vitor Santos Costa
8cab19c6b1 fix bad recovery of thread locals (report from Jiefie Ma). 2010-06-30 17:50:28 +02:00
Vítor Santos Costa
de336d7ffe handle NULL pointer case. 2010-06-14 09:27:48 +01:00
Vitor Santos Costa
d5e1ff38f4 new interface to access globals. They are not in a file called GLOBALS, from which
we generate several files automatically.
2010-03-21 22:12:42 +00:00
U-Khasa\Vitor
33190e290d mingw complaint with recent versions of gcc 2010-02-10 03:03:03 -06:00
Vitor Santos Costa
a0b48eb108 protect against calls to garbage collector (obs from Paulo Moura). 2010-01-31 23:03:55 +00:00
Vítor Manuel de Morais Santos Costa
5ef31fbfd2 experiment in or-parallel threads. 2010-01-14 15:58:19 +00:00
Vitor Santos Costa
79a1d3e13c fix thread stuff (obs from Jiefei Ma). 2009-12-17 23:55:09 -02:00
Vitor Santos Costa
0179998d60 change Heap.h to YapHeap.h
rename $live to prolog/0 (for SWI compatibility).
2009-10-23 14:22:17 +01:00
Vitor Santos Costa
475e681907 do fetch and remove a the same time: PopFromDB 2009-06-13 13:06:02 -05:00
Vitor Santos Costa
44f7e67394 make sure we reset global variables when exiting a thread 2009-05-17 10:38:39 -07:00
vsc
df22b925b5 fix thread messages
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2309 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-19 00:44:37 +00:00
vsc
d170b34624 MaxOS fixes
Avoid a thread deadlock
improvements to SWI predicates.
make variables_in_term system builtin.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2304 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-12 01:27:23 +00:00
vsc
b3a0b412f1 fix threads/0.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2302 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 16:05:10 +00:00
vsc
5776abb31c more thread fixes.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2301 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-08 14:05:34 +00:00
vsc
2581c3a3bf more threadin fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2300 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-07 20:51:23 +00:00
vsc
85d7d39dbf more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2297 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-08-06 17:32:22 +00:00
vsc
02497c1172 fix manual and message handling
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2253 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-06-03 09:24:28 +00:00
vsc
ade7b34d49 thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2251 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-28 17:18:35 +00:00
vsc
257c3a2cbc fix threads and LU
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2233 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-05-10 23:24:13 +00:00
vsc
516a349aad only evaluate lists with a single character.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2214 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-08 15:36:53 +00:00
vsc
a1327cfe9b fix small bug in compilation
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2202 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 15:15:21 +00:00
vsc
78d7105c16 protect signal handling with locks for threaded version.
fix close/1 entry in manual (obs from Nicos).
fix -f option in chr Makefile.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2201 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-03 13:26:38 +00:00
pmoura
48e8101a87 Added new flag "max_workers". It uses a C function, "p_max_workers" that is currently defined in the *wrong* place ("threads.c").
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2193 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 22:59:52 +00:00
vsc
929ec2412f handle out of memory error at thread creation (obs from Paulo Moura).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2190 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 17:37:07 +00:00
vsc
70b3438293 separate MAX_WORKERS and MAX_THREADS (obs from Paulo Moura)
MAX_AGENTS can be used in all cases


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2189 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-04-02 15:41:50 +00:00
vsc
f933b890f0 fix thread_dettach
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2167 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-26 14:41:45 +00:00
vsc
c20c0f7767 fix maximum number of threads open error
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2158 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-03-24 23:48:47 +00:00
vsc
17d16e0b14 Big update to support more SICStus/SWI like message handling
fix YAPSHAREDIR
fix yap.tex (Bernd)


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2107 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-22 15:08:37 +00:00
vsc
af0fb4f4d9 SWI-portability changes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2088 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-02-12 17:03:59 +00:00
vsc
ff8213e506 make thread code more stable
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2063 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2008-01-27 11:01:07 +00:00
vsc
da19616796 fix mutex_info
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1848 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-03-16 21:58:45 +00:00
vsc
7239e45ec3 allow the user to configure a maximum number of threads.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1792 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2007-01-29 10:18:15 +00:00
pmoura
139e50a1ca Corrected some bugs in the implementation of thread_sleep/1. Changed implementation to make the call succeed and return immediately when the argument is zero or a negative value (matching the current threads standardization proposal).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1757 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-12-31 16:10:29 +00:00
vsc
51553d40f2 more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1655 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-25 17:35:49 +00:00
vsc
1d445a731d Fix termination conditions for failed and detached threads.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1654 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-25 16:57:21 +00:00
vsc
f5b9000018 include thread_sleep functionality.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1653 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-25 16:28:28 +00:00
vsc
b54dd9e2b9 more thread stuff
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1631 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2006-05-04 18:46:50 +00:00
vsc
59561e2688 fix excessive pruning in meta-calls
fix Term->int breakage in compiler
improve JPL (at least it does something now for amd64).


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1264 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2005-03-13 06:26:13 +00:00
vsc
94af3000fe fix threads so that they at least start
allow error handling to work with threads
replace heap_base by Yap_heap_base, according to Yap's convention for globals.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1192 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-12-02 06:06:47 +00:00
vsc
8d2cb067ec fix situation where we might assume nonextsing double initialisation of C predicates (use
Hidden Pred Flag).
$host_type was double initialised.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1177 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-11-18 22:32:40 +00:00
vsc
1781ff9420 whole lot of fixes:
- memory leak in indexing
  - memory management in WIN32 now supports holes
  - extend Yap interface, more support for SWI-Interface
  - new predicate mktime in system
  - buffer console I/O in WIN32


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1113 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-08-11 16:14:55 +00:00
vsc
21a3377248 debugger fixes
initial support for JPL
bad calls to garbage collector and gc
debugger fixes


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1096 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-07-22 21:32:23 +00:00
vsc
08b9f55f9c start support for java interface
bug fixes


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1093 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-07-15 15:47:08 +00:00
vsc
caa0b26665 solaris fixes for threads
get rid of SizeOfBlock


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1018 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-03-05 15:26:33 +00:00
vsc
ddc7b3a0bc a few more fixes to support timing and to improve message queues.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1012 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-03-02 16:44:58 +00:00
vsc
01dec70e0a thread support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1010 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-28 14:59:03 +00:00
vsc
6027963867 more thread updates.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1001 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-21 20:25:45 +00:00
vsc
026bfb3c18 more thread fixes
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@997 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-19 19:24:46 +00:00
vsc
6031b7f049 protect dead threads.
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@995 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-17 19:29:24 +00:00
vsc
7d7b79630f - setconcurrency was spelled wrongly
- avoid several workers spewing out the same message in low_level_tracer.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@991 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-16 19:22:40 +00:00
vsc
08fe01ad98 a few more fixes, and we're done with threads (for now) ;-).
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@980 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 16:18:16 +00:00
vsc
e612cb2f84 support thread local IDB
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@979 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 16:09:15 +00:00
vsc
eec29d7c27 fix thread_signal
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@978 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 13:59:53 +00:00
vsc
c9247ce308 make thread_local compatible with dynamic
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@977 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 13:33:19 +00:00
vsc
acbf57f59d improve threads support
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@976 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-11 01:20:56 +00:00
vsc
ca4e754af7 protect writes to SignalMask and to CreepFlag. Reads are still not
locked.
fix XREGS for threads.
fix thread_signal not even being defined.


git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@969 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-06 17:22:24 +00:00
vsc
9b84cdfe5d improved support for threads and code area allocation using malloc
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@965 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-02-05 16:57:02 +00:00
vsc
ba9876268f threads, clean signals, and much more...
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@957 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
2004-01-23 02:23:51 +00:00