Gurusamy Sarathy [Wed, 12 Nov 1997 01:22:26 +0000]
Minor tweaks to add a thread_intern struct that should ultimately
contain all the win32-specific statics.
Win32 branch now passes all tests with or w/o USE_THREADS.
p4raw-id: //depot/win32/perl@235
Gurusamy Sarathy [Tue, 11 Nov 1997 23:08:54 +0000]
Initial (untested) integration of mainline changes.
p4raw-id: //depot/win32/perl@234
Malcolm Beattie [Tue, 11 Nov 1997 18:07:30 +0000]
Typo in thread.h: ADD_THREAD_INTERN should be HAVE_THREAD_INTERN
p4raw-id: //depot/perl@233
Malcolm Beattie [Tue, 11 Nov 1997 17:49:12 +0000]
t/TEST (reverted to @229 version) should have been included in the
previous change (231) but my way of recovering it didn't work
properly. The change 231 comments about successful tests applies
to this t/TEST (i.e. as of this change).
p4raw-link: @229 on //depot/perl:
2faa37ccf8e46b865687f0ab4992b29a75eb79ea
p4raw-id: //depot/perl@232
Malcolm Beattie [Tue, 11 Nov 1997 17:46:59 +0000]
Fix up ansiperl integration. Back to passing all expected tests
with usethreads. Untested with non-threaded perl.
p4raw-id: //depot/perl@231
Malcolm Beattie [Tue, 11 Nov 1997 16:36:22 +0000]
Initial integration of ansi branch into mainline (untested).
p4raw-id: //depot/perl@230
Malcolm Beattie [Tue, 11 Nov 1997 15:20:43 +0000]
Change name of OP_SPECIFIC to OP_THREADSV. Fixed perl_get_sv when
getting per-thread magicals. Fixed thr->errsv initialisation.
p4raw-id: //depot/perl@229
Malcolm Beattie [Tue, 11 Nov 1997 12:48:26 +0000]
Fix up $@ (ERRSV now refers to GvSV(errgv) for non-threaded perl and
thr->errsv for threaded perl). Fix pp_tie and pp_dbmopen to use
GvCV(gv) instead of gv so AUTOLOAD stuff works. All tests now pass
again for non-threaded perl. Enhanced perl_get_sv to return
per-thread magicals where necessary for threaded perl.
p4raw-id: //depot/perl@228
Gurusamy Sarathy [Tue, 11 Nov 1997 02:11:23 +0000]
Slightly more refined lock() keyword recognition (using %INC).
p4raw-id: //depot/win32/perl@226
Gurusamy Sarathy [Tue, 11 Nov 1997 00:26:09 +0000]
"weak" lock keyword (hardcoded initial implementation) now works.
if not defined(&Thread::join) and defined(&__PACKAGE__::lock), 'lock'
is recognized as a sub, a regular keyword otherwise. Could be
generalized by storing a flag for every op in OP struct, and turning
the flag off when Thread.xs loads.
p4raw-id: //depot/win32/perl@225
Gurusamy Sarathy [Wed, 8 Oct 1997 02:18:23 +0000]
Merge a patch in preparation for "weak keywords":
Message-Id: <
199710080618.CAA23899@aatma.engin.umich.edu>
Subject: [PATCH] global overrides for keywords
p4raw-id: //depot/win32/perl@224
Gurusamy Sarathy [Mon, 10 Nov 1997 22:41:31 +0000]
Remove runlevel. It was used to count how many runops() calls
we were in the process of executing, and longjmp() to the topmost
one (if not already there). We use a null top_env->je_prev
to distinguish that now.
p4raw-id: //depot/win32/perl@223
Gurusamy Sarathy [Mon, 10 Nov 1997 04:47:48 +0000]
Win32 branch now contains all non-ansification changes in ansiperl branch.
USE_THREADS case builds and passes all tests using both compilers.
Additional tweaks:
- fixup win32/makedef.pl to skip more symbols for non-thread build.
- sync win32/Makefile with win32/makefile.mk
>>>Non-thread build fails a lot of tests.<<<
p4raw-id: //depot/win32/perl@222
Gurusamy Sarathy [Mon, 10 Nov 1997 00:57:53 +0000]
Initial (untested) merge of all non-ansi changes on ansiperl branch
into win32 branch.
p4raw-id: //depot/win32/perl@221
Gurusamy Sarathy [Sun, 9 Nov 1997 22:44:41 +0000]
Integrate latest mainline into win32 branch.
p4raw-id: //depot/win32/perl@220
Nick Ing-Simmons [Sun, 9 Nov 1997 21:46:06 +0000]
Conditionalize english.t,
Enhance times() for NT,
(Failed) attempt to implement alarm(),
Fixed config.h dependancy in makefile.mk
p4raw-id: //depot/ansiperl@219
Nick Ing-Simmons [Sun, 9 Nov 1997 15:38:00 +0000]
Dick Hardt's patch for build on Alpha
p4raw-id: //depot/ansiperl@218
Nick Ing-Simmons [Sun, 9 Nov 1997 03:31:20 +0000]
MakeMaker not in vofig noise fix for dmake
p4raw-id: //depot/ansiperl@217
Nick Ing-Simmons [Sun, 9 Nov 1997 03:15:06 +0000]
Fix 'anydbm.t' - if the gv is passed 1st call to inherited
TIEHASH works, but 2nd call (after db is closed, attempt
to reopen) tries to AUTOLOAD TIEHASH rather than using
cached value.
p4raw-id: //depot/ansiperl@216
Nick Ing-Simmons [Sat, 8 Nov 1997 16:41:24 +0000]
Cleanup MakeMaker 'not in config' noise
p4raw-id: //depot/ansiperl@215
Nick Ing-Simmons [Sat, 8 Nov 1997 15:07:24 +0000]
Remove 'configure' leaving configure.gnu and Configure
Win32 ignores case and keeps trying to update
repository copy of 'configure' or 'Configure' with
the other.
p4raw-id: //depot/ansiperl@214
Nick Ing-Simmons [Sat, 8 Nov 1997 15:03:39 +0000]
Get threads working again on Win32
Root cause of fail was init_thread_intern() in
new_struct_thread() (which is called in parent thread)
clobbering dTHR of parent thread.
It is doubtfull if setting 'self' in new_struct_thread()
is 'right' but left in for now.
p4raw-id: //depot/ansiperl@213
Nick Ing-Simmons [Sat, 8 Nov 1997 00:34:03 +0000]
Add :base_thread to :default in Opcode.pm
This allows lib/safe.t to pass when threaded.
It is unclear if 'lock' should be safe as it allows
denial of service attack, but could not figure out
how to add just 'specific' (sic) to :default
without triggering 'already tagged' warning noise.
p4raw-id: //depot/ansiperl@212
Nick Ing-Simmons [Fri, 7 Nov 1997 23:59:31 +0000]
Merge changes as of 18:00 CST
p4raw-id: //depot/ansiperl@211
Nick Ing-Simmons [Fri, 7 Nov 1997 23:52:35 +0000]
Reverse integrate Malcolm's chanes into local
repository, then import result back into my view
of Malcolm's repository.
Builds and passes (most) tests with GNU C++/Solaris
and Borland C++, Win32.
p4raw-id: //depot/ansiperl@210
Malcolm Beattie [Fri, 7 Nov 1997 18:12:36 +0000]
Change pp_tie and pp_dbmopen to use perl_call_sv instead of a
DIY pp_entersub (in preparation for AUTOLOAD change). dbmopen
not tested. ofslen now maps to thr->Tofslen in thread.h. Added
missing #ifdef USE_THREADS around some DEBU_L statements in die().
Building without USE_THREADS fails quite a lot of tests. It looks
as though the move to per-thread magicals must be missing some
#ifdef USE_THREADS.
p4raw-id: //depot/perl@209
Nick Ing-Simmons [Fri, 7 Nov 1997 01:37:28 +0000]
Raw integrate of latest perl
p4raw-id: //depot/ansiperl@208
Malcolm Beattie [Thu, 6 Nov 1997 14:58:00 +0000]
Update README.threads and Todo.5.005.
p4raw-id: //depot/perl@207
Malcolm Beattie [Thu, 6 Nov 1997 14:37:37 +0000]
Remove #ifdef DEPRECATED stuff: newXSUB, pp_entersubr, FREE_TMPS().
p4raw-id: //depot/perl@206
Malcolm Beattie [Thu, 6 Nov 1997 14:31:38 +0000]
Per-thread magicals now stored in their own thr->magicals and keyed
more directly. cvcache and oursv become ordinary struct thread
fields instead of #defined thr->Tfoo ones. SvREFCNT_inc now checks
for 0 again. Main thread initialisation done by new function
init_main_thread instead of (now fixed) new_struct_thread.
p4raw-id: //depot/perl@205
Malcolm Beattie [Wed, 5 Nov 1997 17:18:18 +0000]
Per-thread magicals mostly working (and localisable). Now getting
intermittent occasional "Use of uninitialized value" warnings
which may be due to some op flag black magic I've broken.
p4raw-id: //depot/perl@204
Nick Ing-Simmons [Wed, 5 Nov 1997 01:04:10 +0000]
Builds C++ Borland, MSVC++ (Win32) and GCC++ (Solaris)
p4raw-id: //depot/ansiperl@203
Nick Ing-Simmons [Wed, 5 Nov 1997 00:50:27 +0000]
Compile(d) at least once with threads on win32
but did not work
p4raw-id: //depot/ansiperl@202
Nick Ing-Simmons [Wed, 5 Nov 1997 00:32:13 +0000]
Trivial integrate
p4raw-id: //depot/ansiperl@201
Malcolm Beattie [Tue, 4 Nov 1997 12:06:09 +0000]
Up patchlevel to 5.004_54 (I missed _53 for the last release).
p4raw-id: //depot/perl@200
Nick Ing-Simmons [Sat, 1 Nov 1997 00:18:52 +0000]
Integrate mainline @ 18:15 CST 31 Oct 1997
p4raw-id: //depot/ansiperl@199
Nick Ing-Simmons [Sat, 1 Nov 1997 00:08:33 +0000]
win32thread.* not in MANIFEST which has muddled moving
back and forth between depots.
p4raw-id: //depot/ansiperl@198
Nick Ing-Simmons [Sat, 1 Nov 1997 00:02:49 +0000]
Test changes
p4raw-id: //depot/ansiperl@197
Nick Ing-Simmons [Fri, 31 Oct 1997 23:54:01 +0000]
Further ANSI changes now builds and passes (most) tests
with gcc -x c++.
p4raw-id: //depot/ansiperl@196
Malcolm Beattie [Fri, 31 Oct 1997 18:05:31 +0000]
Half way through moving per-thread magicals into per-thread fields
and the associated new OP_SPECIFIC and find_thread_magical stuff.
perl will compile but plenty of the magicals are still broken.
p4raw-id: //depot/perl@195
Nick Ing-Simmons [Fri, 31 Oct 1997 01:43:49 +0000]
Convert miniperl sources to ANSI C. Several passes of
GNU C's 'protoize' plus a few hand edits.
Will compile miniperl with gcc -x c++ (i.e. treat .c a C++ files)
Does not link seems gcc's C++ does not define a symbol for
const char foo[] = "....";
i.e. with empty [].
p4raw-id: //depot/ansiperl@194
Nick Ing-Simmons [Thu, 30 Oct 1997 03:00:01 +0000]
Make the ansi branch
p4raw-id: //depot/ansiperl@193
Malcolm Beattie [Wed, 29 Oct 1997 14:39:54 +0000]
Remove global macro "self". Change thr->Tself to thr->self.
p4raw-id: //depot/perl@190
Malcolm Beattie [Wed, 29 Oct 1997 12:49:01 +0000]
Add to Todo: compiler with fake SvCUR in comppad_name entries.
p4raw-id: //depot/perl@189
Malcolm Beattie [Wed, 29 Oct 1997 12:45:02 +0000]
Change peep() to optimise away unneeded rv2av in lval->[] and lval->{}
p4raw-id: //depot/perl@187
Malcolm Beattie [Wed, 29 Oct 1997 12:43:36 +0000]
Move compiler OP class information into opcode.pl.
p4raw-id: //depot/perl@186
Malcolm Beattie [Fri, 24 Oct 1997 17:14:00 +0000]
Remove xcv_condp CV field which is no longer used.
p4raw-id: //depot/perl@174
Malcolm Beattie [Fri, 24 Oct 1997 14:36:09 +0000]
Patches for VMS [Dan Sugalski]
p4raw-id: //depot/perl@173
Malcolm Beattie [Fri, 24 Oct 1997 13:50:59 +0000]
Improve internal threading API. Introduce win32/win32thread.[ch]
to use new API and patch win32 makefile stuff a little.
p4raw-id: //depot/perl@172
Malcolm Beattie [Thu, 23 Oct 1997 14:00:27 +0000]
Fix pp_hot.c:get_db_sub core dump when perl debugger used.
p4raw-id: //depot/perl@171
Malcolm Beattie [Thu, 23 Oct 1997 09:22:40 +0000]
Fix refcounts for lock/magic_mutexfree. Make OP_LOCK auto-ref
its argument using ck_rfun as OP_DEFINED. Make pp_lock return
a ref to its argument for AV, HV, CV.
p4raw-id: //depot/perl@170
Nick Ing-Simmons [Sat, 18 Oct 1997 02:52:44 +0000]
Make lib/Bundle/CPAN.pm a text file
p4raw-id: //depot/perl@156
Gurusamy Sarathy [Thu, 16 Oct 1997 22:26:07 +0000]
Merge changes to Thread and add makefile fixups to accomodate Thread
build. Once again, builds and runs all Thread tests using either
compiler.
p4raw-id: //depot/win32/perl@144
Gurusamy Sarathy [Thu, 16 Oct 1997 20:45:58 +0000]
A quick merge of latest mainline.
p4raw-id: //depot/win32/perl@143
Malcolm Beattie [Thu, 16 Oct 1997 16:52:55 +0000]
Add newly moved perl/ext/Thread/... files to MANIFEST.
p4raw-id: //depot/perl@142
Malcolm Beattie [Thu, 16 Oct 1997 16:42:13 +0000]
Move perlext/Thread into perl/ext/Thread.
p4raw-id: //depot/perl@141
Malcolm Beattie [Thu, 16 Oct 1997 16:26:53 +0000]
Correct threads_mutex locking in main thread destruction.
Add per-interp thrsv to hold SV struct thread for main thread.
Move Thread.xs MUTEX_DESTROY from end of threadstart to remove_thread.
Add Thread/list.t test of Thread->list method.
Let Thread::Semaphore methods up and down take an extra argument.
p4raw-id: //depot/perl@140
Malcolm Beattie [Thu, 16 Oct 1997 16:26:53 +0000]
Correct threads_mutex locking in main thread destruction.
Add per-interp thrsv to hold SV struct thread for main thread.
Move Thread.xs MUTEX_DESTROY from end of threadstart to remove_thread.
Add Thread/list.t test of Thread->list method.
Let Thread::Semaphore methods up and down take an extra argument.
p4raw-id: //depot/perlext/Thread@140
Malcolm Beattie [Thu, 16 Oct 1997 14:01:11 +0000]
Fix up merge with 5.004_04.
p4raw-id: //depot/perl@139
Malcolm Beattie [Thu, 16 Oct 1997 11:09:25 +0000]
Merge maint-5.004 branch (5.004_04) with mainline.
p4raw-id: //depot/perl@137
Gurusamy Sarathy [Wed, 15 Oct 1997 21:46:05 +0000]
Win32 changes over 5.004_52:
- rearranged MUTEX_LOCK()s in perl_destroy so that we don't call it
on an already locked mutex.
- other minor tweaks.
Now builds and runs win32-version of Thread_52, passing all tests.
p4raw-id: //depot/win32/perl@135
Gurusamy Sarathy [Wed, 15 Oct 1997 18:19:31 +0000]
fixup makefile.mk conflict.
p4raw-id: //depot/win32/perl@134
Gurusamy Sarathy [Wed, 15 Oct 1997 18:02:46 +0000]
Integrated latest changes from mainline into win32.
p4raw-id: //depot/win32/perl@133
Malcolm Beattie [Wed, 15 Oct 1997 17:02:38 +0000]
Remove out-of-date test Thread/cond.t.
p4raw-id: //depot/perlext/Thread@132
Malcolm Beattie [Wed, 15 Oct 1997 16:57:45 +0000]
Finish thread state machine: fixes global destruction of threads,
detaching, joining etc. Alter FAKE_THREADS-specific fields to use
new HAVE_THREAD_INTERN stuff. Updates docs. Various fixes to
Thread.xs.
p4raw-id: //depot/perl@131
Malcolm Beattie [Wed, 15 Oct 1997 16:57:45 +0000]
Finish thread state machine: fixes global destruction of threads,
detaching, joining etc. Alter FAKE_THREADS-specific fields to use
new HAVE_THREAD_INTERN stuff. Updates docs. Various fixes to
Thread.xs.
p4raw-id: //depot/perlext/Thread@131
Malcolm Beattie [Wed, 15 Oct 1997 16:55:10 +0000]
Add HAVE_THREAD_INTERN for platform-dependent struct thread additions.
Fix ThrSETSTATE not to lock t->mutex itself.
p4raw-id: //depot/perl@130
Malcolm Beattie [Wed, 15 Oct 1997 16:53:35 +0000]
Remove stale code from pp_entersub which breaks sub ownership locks.
p4raw-id: //depot/perl@129
Tim Bunce [Wed, 15 Oct 1997 15:55:26 +0000]
Maintenance 5.004_04 changes
p4raw-id: //depot/maint-5.004/perl@128
Malcolm Beattie [Wed, 15 Oct 1997 10:00:18 +0000]
Added fakethr.h.
p4raw-id: //depot/perl@127
Malcolm Beattie [Wed, 15 Oct 1997 09:50:57 +0000]
pthread_condattr_init in thread.h for OLD_PTHREADS_API.
p4raw-id: //depot/perl@126
Malcolm Beattie [Wed, 15 Oct 1997 09:09:24 +0000]
Started rewriting thread state machine.
p4raw-id: //depot/perlext/Thread@125
Malcolm Beattie [Wed, 15 Oct 1997 09:09:24 +0000]
Started rewriting thread state machine.
p4raw-id: //depot/perl@125
Gurusamy Sarathy [Tue, 14 Oct 1997 00:23:15 +0000]
Remove spurious extra MUTEX_LOCK in pp_entersub(). Now builds and passes
tests in win32 version of latest perlext/Thread.
p4raw-id: //depot/win32/perl@124
Gurusamy Sarathy [Mon, 13 Oct 1997 23:18:38 +0000]
Initial merge of win32 threads patch.
p4raw-id: //depot/win32/perl@123
Gurusamy Sarathy [Fri, 10 Oct 1997 20:58:40 +0000]
Integrated changes on mainline into the win32 branch. Had to set
P4USER=mbeattie for the resolve step (due to the presence of newly
branched files that had not been submitted?)
p4raw-id: //depot/win32/perl@122
Malcolm Beattie [Fri, 10 Oct 1997 17:23:41 +0000]
Tweak a few Thread tests.
p4raw-id: //depot/perlext/Thread@121
Malcolm Beattie [Fri, 10 Oct 1997 17:22:46 +0000]
Rewrite thread destruction system using linked list of threads.
Still not completely done. Add methods self, equal, flags, list
to Thread.xs. Add Thread_MAGIC_SIGNATURE check to typemap.
p4raw-id: //depot/perl@120
Malcolm Beattie [Fri, 10 Oct 1997 17:22:46 +0000]
Rewrite thread destruction system using linked list of threads.
Still not completely done. Add methods self, equal, flags, list
to Thread.xs. Add Thread_MAGIC_SIGNATURE check to typemap.
p4raw-id: //depot/perlext/Thread@120
Malcolm Beattie [Fri, 10 Oct 1997 17:19:55 +0000]
Fix up locking/synchronisation for pp_entersub.
p4raw-id: //depot/perl@119
Malcolm Beattie [Fri, 10 Oct 1997 09:55:32 +0000]
Put back entries in MANIFEST for the four now-returned win32/* files
p4raw-id: //depot/perl@118
Malcolm Beattie [Fri, 10 Oct 1997 08:12:23 +0000]
Took out mystack_foo for good, fixed up interp.sym and win32/makedef.pl
p4raw-id: //depot/perl@117
Malcolm Beattie [Wed, 8 Oct 1997 15:41:08 +0000]
Add missing sig_pipe definition to Thread.xs.
p4raw-id: //depot/perlext/Thread@116
Malcolm Beattie [Wed, 8 Oct 1997 15:40:46 +0000]
Fix up 5.004_03 merge: remove missing win32 files from MANIFEST,
add missing dTHR; to new function unwind_handler_stack() in mg.c
and bump patchlevel.h to 5.004_52.
p4raw-id: //depot/perl@115
Malcolm Beattie [Wed, 8 Oct 1997 10:19:27 +0000]
Merge maint-5.004 branch (5.004_03) with mainline.
MANIFEST is out of sync.
p4raw-id: //depot/perl@114
Malcolm Beattie [Sun, 5 Oct 1997 17:52:49 +0000]
Move init of global mutexes/cond vars earlier.
p4raw-id: //depot/perl@113
Malcolm Beattie [Fri, 3 Oct 1997 17:12:33 +0000]
Remove last traces of "tokenbuf as temp buffer" and removed it
from struct thread. Added missing thr->Tfoo defines for statbuf
and timesbuf and removed unused Tbuf field.
p4raw-id: //depot/perl@106
Malcolm Beattie [Fri, 3 Oct 1997 15:23:25 +0000]
Back out sv_bless3 change which made pp_bless zap '~'-magic.
p4raw-id: //depot/perl@104
Malcolm Beattie [Fri, 3 Oct 1997 15:17:39 +0000]
Fixed sv_mutex locking for new_SV, del_SV and nice_chunks.
p4raw-id: //depot/perl@103
Malcolm Beattie [Fri, 3 Oct 1997 11:53:51 +0000]
Reliable thread signal handling.
p4raw-id: //depot/perlext/Thread@102
Malcolm Beattie [Fri, 3 Oct 1997 11:53:51 +0000]
Reliable thread signal handling.
p4raw-id: //depot/perl@102
Malcolm Beattie [Thu, 2 Oct 1997 17:23:48 +0000]
Added Thread/queue.t.
p4raw-id: //depot/perlext/Thread@99
Malcolm Beattie [Thu, 2 Oct 1997 17:19:44 +0000]
Bumped patchlevel to 51. Updated Todo.5.005.
p4raw-id: //depot/perl@98
Malcolm Beattie [Thu, 2 Oct 1997 17:07:47 +0000]
Update README.threads amd Thread/README
p4raw-id: //depot/perlext/Thread@97
Malcolm Beattie [Thu, 2 Oct 1997 17:07:47 +0000]
Update README.threads amd Thread/README
p4raw-id: //depot/perl@97
Malcolm Beattie [Thu, 2 Oct 1997 16:58:47 +0000]
Configure -Dusethreads hints for dec_osf and solaris_2 and
fix sv_bless3 prototype.
p4raw-id: //depot/perl@96
Malcolm Beattie [Thu, 2 Oct 1997 16:50:21 +0000]
Fixed broken typemap for Thread.
p4raw-id: //depot/perlext/Thread@95
Malcolm Beattie [Thu, 2 Oct 1997 13:44:46 +0000]
Add Todo.5.005 to MANIFEST and submit remade embed.h.
p4raw-id: //depot/perl@93
Malcolm Beattie [Thu, 2 Oct 1997 13:27:10 +0000]
Add Todo.5.005
p4raw-id: //depot/perl@92
Malcolm Beattie [Wed, 1 Oct 1997 17:04:12 +0000]
Start of Configure support for -Dusethreads plus associated
Linux hints.
p4raw-id: //depot/perl@88